Swaps
TRUE Swap — Solana-native cross-chain execution with route plans, slippage protection, and points.
What this is
TRUE Swap is the cross-chain execution layer. Best route, best price, no decoys. Solana is the home chain — TRUE Swap is Solana-native and routes through Jupiter for SPL-to-SPL flow. Cross-chain swaps run through audited bridge aggregators with route preview, slippage protection, and a single signing surface.
Routing
Every quote returns a route plan: which DEXs and pools the swap will touch, the price impact at each hop, and the slippage envelope. The user signs the plan, not the individual hops.
{
"in": { "asset": "USDC", "amount": 1000 },
"out": { "asset": "SOL", "amount_min": 5.31 },
"route": [
{ "venue": "raydium-clmm", "impact_bps": 3 },
{ "venue": "orca-whirlpool", "impact_bps": 2 }
],
"slippage_bps": 15,
"priority_fee_lamports": 5000,
"expires_at": "2026-04-29T12:35:00Z"
}
A quote is valid until expires_at. After that the client must request a fresh quote — re-signing a stale quote is rejected on the executor.
On-ramp
Fiat enters through Banxa, with KYC handled on the Banxa side. Once the on-ramp settles to the user’s TRUE wallet, the rest of the flow — swap, signal, save — is identical to any wallet-funded user. Refund flow if KYC fails is documented at help.truefinance.ai/banxa-refund.
Earning while swapping
Every $2 swapped earns 1 TRUE Point, capped at 600 points per week to keep the surface fair. Reverse-swap detection runs on the same path to prevent farming — a swap immediately reversed within the protection window does not earn points. Full ruleset on Points & Rewards.
TRUE cannot execute a swap without an active wallet signature on the route plan. There is no scenario in which a swap happens without a wallet prompt — if a “swap” is presented as already executed without one, it’s a phishing surface. Verify the URL, abort, and report.
When you swap, the route preview shows the number of venues, the per-hop impact, and the worst-case fill (the minimum out you’ll receive if every hop fills at maximum slippage). If those numbers don’t match what you signed in your wallet prompt, reject the signature. The most useful safety habit on TRUE Swap is reading the wallet prompt before clicking confirm — your wallet is the last line of defense.
Quote endpoint
POST https://app.truefinance.ai/api/v1/swap/quote {
"in": { "asset": "USDC", "amount": "1000" },
"out": { "asset": "SOL" },
"slippage_bps": 15,
"max_hops": 3,
"user_pubkey": "..."
}Lifecycle
- Quote — receive a route plan with
expires_at. - Sign — pass the quote to the wallet for signature; the wallet displays the route summary.
- Submit — POST the signed transaction to the executor.
- Confirm — poll or use the WebSocket for confirmation. The executor returns final fill details once landed.
Error codes
| Code | Meaning | Action |
|---|---|---|
QUOTE_EXPIRED | The quote expires_at passed | Request a new quote |
IMPACT_EXCEEDED | Live impact exceeded the slippage envelope | Cancel or widen the envelope |
INSUFFICIENT_BALANCE | Wallet balance below quote in.amount + fees | Top up the wallet |
ROUTE_UNAVAILABLE | No route satisfied the constraints | Loosen max_hops or slippage_bps |
ORACLE_STALE | TRUE Quotes returned a stale-flagged quote | Surface “price unavailable” |
MEV protection
The route solver bids a priority fee tuned to the current Solana congestion percentile and avoids known sandwich-prone pools when an alternative exists. Anti-sandwich heuristics inflate slippage_bps slightly on thin pools — that’s protection, not waste.
Safety, limits, failure modes
- High-impact route. Quotes with cumulative impact above 1% are flagged in the UI before signing. The user must explicitly acknowledge before the wallet prompt opens.
- Reverse-swap detection. Swaps immediately reversed within the protection window do not earn points. The detection window and reset cadence are documented on Points & Rewards.
- Slippage caps. Per-asset caps are protective, not optional. Disabling them is not exposed to users.
- Cross-chain finality. Bridge confirmations are upstream-bound; a “submitted” status on the destination chain is not the same as a “settled” status. Wait for finality.
See also
- Price Engine — pre-trade pricing checks via TRUE Quotes.
- Points & Rewards — what you earn and the anti-abuse rules.
- Agentic Trading — autonomous swap execution with hard caps.