the problem with most bridges
the classic bridge has a pool on each side. you deposit tokens into the pool on one network and someone else's liquidity pays you on the other. that works, but it brings three things you don't want when you just need your own dollars somewhere else: slippage when the pool is thin, a ceiling set by how much liquidity is sitting there, and often a different token on arrival, a wrapped copy that isn't the issuer's own.
how cctp works: burn and mint
CCTP (Cross-Chain Transfer Protocol) is Circle's own way of moving USDC. it skips the pool entirely:
- burn: the USDC is destroyed on the network you leave.
- attest: Circle sees the burn and signs a message saying it happened.
- mint: with that signature, the same amount of USDC is created on the network you arrive at.
since the issuer itself does both ends, what lands is native USDC, the same token Circle issues directly on that network, not a copy. nobody is lending you liquidity, so the size of the move is not limited by a pool. it is not a swap either: USDC goes in, USDC comes out.
fast vs standard
CCTP has two speeds. the mechanism is the same; what changes is how long Circle waits before signing.
| mode | Circle attestation | Circle fee (26 sep 2026) |
|---|---|---|
| fast | ~8 s on Solana, Base and Arbitrum | 1 bp from Solana · 1.3 bp from Base · 1.4 bp from Arbitrum |
| standard | ~25 s on Solana · ~15–19 min on Base and Arbitrum | 0 |
1 basis point is 0.01%, so fast mode costs about $0.01 per $100 moved from Solana. we read these fees straight from Circle's public API on 20 aug 2026 and again on 26 sep 2026: same numbers both times.
dolaramp runs every move in fast mode. Standard is free on Circle's side, but on Base and Arbitrum it means waiting a quarter of an hour, and moving between networks in seconds is the point of the product. the API quote shows both modes so you can see the difference.
what we measured
Circle says fast transfers settle in 8 to 20 seconds end to end. in our own tests with real money, a move of $17.88 from Solana to Arbitrum confirmed in 15 seconds: $2.05 dolaramp fee, $0.0018 Circle fee, and $15.82 arrived, a hair above the estimate, because Circle charged less than the cap we allowed.
it is not always that fast. the network occasionally takes longer to finalize. when that happens, the app says "taking longer than usual" and the move shows up in your activity once it lands. once the burn is on-chain, the mint is backed by Circle's attestation, which does not expire: nothing is lost while it waits.
what it costs in dolaramp
our fee is $2 flat + 0.3% of the amount, and the minimum amount you can move is $10. on top of that sits Circle's fast fee, passed through at cost, with no markup. you pay no gas: the app shows the gas line as $0,00 (gasless), and you never need SOL or ETH.
| you move (from Solana) | dolaramp fee | Circle fee | arrives (approx.) |
|---|---|---|---|
| $10 | $2.03 | $0.001 | $7.97 |
| $100 | $2.30 | $0.01 | $97.69 |
| $1,000 | $5.00 | $0.10 | $994.90 |
| $10,000 | $32.00 | $1.00 | $9,967.00 |
to be straight about it: at the $10 minimum our fee is about 20% of the amount, and it only drops below 1% around $300. many bridges charge a percentage with no fixed part, so for small amounts they are cheaper than us. where dolaramp makes sense is when you want the issuer's own USDC, no gas token, and the fee shown in full before you confirm.
step by step in the app
- on the home screen, tap bridge. the screen reads "same dollar, another network. gasless."
- the token is usdc. usdt and pyusd show as "coming soon".
- in from, pick the network with your USDC (solana, base or arbitrum). in to, pick where it should go. the ⇅ button swaps them.
- type the amount, or tap max. the line you receive shows what arrives.
- open details to see dolaramp fee, bridge fee (Circle's) and gas $0,00 (gasless).
- tap bridge $X usdc and confirm with your password.
- the receipt shows two lines: out on the network you left and in on the one you arrived at, each with its own hash and a "view" link.
there is no recipient field. the USDC always lands on your own address on the other network, which rules out sending to a wrong address by mistake. on Base and Arbitrum it is the same 0x address.
for businesses: the api
the same move is one call in the dolaramp API, authenticated with your X-Api-Key:
GET /v1/bridge/quote?from=solana&to=base&amount=100000000itemizes our fee, Circle's fee and what the recipient receives. amounts are in micro-units: 1 USDC = 1,000,000.POST /v1/bridgewithfrom,to,amountand yourwallet_secretexecutes it.to_addressis optional (the default is your hotwallet on the destination network), andidempotency_keyandexternal_refare supported. the response comes backacceptedwith theburn_txand an estimate of 8–20 s.- your system learns it landed from the
bridge.confirmedwebhook (andbridge.failed, with the stage it failed at), or by pollingGET /v1/operations.
pricing by plan: $2 + 0.3% on free, $2 + 0.2% on pro, negotiated on enterprise, same $10 minimum. with no pool behind it, orders go up to $10m. full reference in the api docs, prices on pricing.
limits, today
- USDC only. USDT and PYUSD are not bridged yet. for USDT on Arbitrum, see what USDT0 is.
- three networks: Solana, Base and Arbitrum, in any direction. TRON and TON are not in the bridge.
- minimum amount $10 per move.
- fast mode only for execution.
faq
Is moving USDC with CCTP a swap?
No. The same USDC is burned on one network and minted on the other by Circle, 1:1. What arrives is native USDC, not a wrapped copy.
How long does it take?
In fast mode Circle attests in about 8 seconds, and the whole move usually takes 8 to 20 seconds. One of our own Solana to Arbitrum moves confirmed in 15 seconds.
How much does it cost in dolaramp?
$2 + 0.3% of the amount, with a $10 minimum amount, plus Circle's fast fee of 1 to 1.4 basis points passed through with no markup. No gas token needed.
Can I move USDT or PYUSD?
Not yet. The bridge moves USDC only, between Solana, Base and Arbitrum.
iris-api.circle.com/v2/burn/USDC/fees, read 20 aug 2026 and 26 sep 2026 · dolaramp fee and minimum from our pricing code and pricing · timing and amounts of the Solana → Arbitrum move measured in dolaramp's own test with real funds, aug 2026.