An open-source protocol for 1:1 swaps between supported USD stablecoins. No protocol fees, no spread, no slippage. Swaps settle from available reserves. Network fees apply.
Swap supported USD stablecoins one-to-one when reserves are available. Stablecoins can still lose their dollar peg.
Withdraw liquidity without a lockup, subject to reserves. Withdrawals may return different supported stablecoins from those you supplied. Network and third-party fees may apply.
Want a stablecoin that is not currently in reserves? Enable queuing for the unfilled amount. Orders fill first in, first out as reserves allow, and may never fill. You can cancel your queued amount.
See the supported stablecoins held in reserves, read from the contracts and refreshed every 12 seconds. Amounts can change before your transaction settles.
| Asset | Name | Pool | Available in reserves | Rate |
|---|---|---|---|---|
| USDC | USD Coin | Hub | — | 1:1 |
| USDS | USDS | Hub | — | 1:1 |
| USDG | Global Dollar | Spoke | — | 1:1 |
Loading open offers…
Aggregators, protocols and applications can integrate directly with Dollar Store’s smart contracts. No API key required. Protocol terms and access restrictions apply; U.S. persons may not use the protocol.
address constant USDC = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48; // USDC address address constant USDG = 0xe343167631d89B6Ffc58B88d6b7fB0228795491D; // USDG address // Amounts are in each token's own decimals // Read the quote from the contract view uint256 quote = dollarStore.getSwapQuote( USDC, USDG, amount ); // Fill what is available now and queue the rest (uint256 amountIn, uint256 amountOut, uint256 amountInQueued, uint256 positionId) = dollarStore.swapOrQueue( USDC, // offerAsset USDG, // wantAsset amount, minAmountOut, deadline );
Read the code and deployment records. Check reserve figures against the contracts. Open-source software still carries smart-contract, issuer and liquidity risks.
Source codeSmart contracts settle transactions according to their code. Limited administrative controls include protective pauses and updates with an on-chain notice period. Read the documentation for details.
How the protocol works