Created a Circle account with StableFX access. If you don’t have one,
contact your Circle representative.
Connected an EVM-compatible wallet (such as MetaMask or any
WalletConnect-supported wallet) with a balance on the Arc network.
Funded your wallet with USDC or EURC tokens on Arc.
Granted Permit2 approval for your tokens. Permit2 is a smart contract that
enables offchain signature-based token approvals, reducing the number of
onchain transactions required. If you haven’t done this, see
Granting USDC allowance with Permit2.
The console also prompts you during the trade flow if approval is missing.
For testnet, your wallet must be connected to Arc Testnet (chain ID 5042002,
RPC https://rpc.testnet.arc.network). You can obtain test USDC and EURC from
the Circle Faucet.
Go to the StableFX Console and sign in
with your Circle account credentials.
2
Complete KYB verification
If this is your first time, the Home page displays your onboarding status.
Click Start onboarding to begin the KYB (Know Your Business)
verification process. You will be redirected to the onboarding portal to
submit required documents.
3
Return to the console
Once your application is approved, return to the console. Your Home page now
shows live FX rates and the trade form.
The StableFX Console home page with live rates and trade form
On the Home page, locate the Trade card. You can also navigate to
Overview or Trades and click the New Trade button.
2
Configure your trade
In the trade form side panel:
Select the From currency and enter the amount you want to sell (for
example, 1000 USDC).
Select the To currency (for example, EURC). One side of the pair
must always be USDC.
Choose a settlement tenor (the time window in which both parties
must fund the trade before it expires): instant (30 min), hourly
(1 hr), or daily (24 hrs).
The console automatically fetches a reference quote and displays the estimated
exchange rate and the amount you will receive.
3
Continue to wallet selection
Click Continue to proceed to the wallet connection step.
The console prompts you to connect an EVM-compatible wallet. If you have already
connected a wallet in a previous session, it may be pre-selected.Click Connect Wallet and follow the prompts from your wallet provider. For
detailed instructions, see
Connecting your wallet to the console.
2
Confirm the wallet
Verify that the displayed wallet address is correct, then click Continue.
The wallet you connect must hold sufficient tokens for the trade amount plus
any collateral (risk buffer). The console checks your balance before
proceeding.
The live exchange rate (refreshed every 3 seconds)
The exact amounts for both sides of the trade
The fee (denominated in the “to” currency)
The collateral (risk buffer) amount, if applicable
The settlement tenor and expiration time
2
Approve the Permit2 contract
If this is your first trade with this token, the console prompts you to approve
the Permit2 contract. Your wallet will display an ERC-20 approval transaction.
Confirm it in your wallet.
3
Sign the trade
Click Lock Rate & Continue. Your wallet prompts you to sign EIP-712 typed
data. This signature authorizes the trade at the locked rate. Confirm the
signature in your wallet.The console submits the trade and displays the result.
Quotes expire after a short window. If your wallet takes too long to confirm
the signature, the console displays a “Quote expired” error. Click Refresh
Quote to fetch a new rate, then sign again. If your wallet shows an
insufficient-balance error, add funds to cover the trade amount plus any
collateral before retrying.
After the trade is created and both parties have signed, the trade moves to
pending_settlement status. You can now fund your side. The maker (your
counterparty) funds their side independently through their own console session.
For details, see
Fulfill trades as a maker.
1
Open the trade
Navigate to the Trades page and find your trade. Click on it to open the
trade details side panel.
2
Click Fund
If the trade is ready for funding, the Fund button is available. Click
it.
3
Review deliverables and receivables
The funding panel shows:
You deliver: The token and amount you send to escrow.
You receive: The token and amount you receive after settlement.
4
Sign and submit funding
Click Fund Trade. Your wallet prompts you to sign Permit2 typed data.
This signature authorizes the token transfer to the FxEscrow contract.
Confirm it in your wallet.
5
Confirm settlement
Once both parties have funded, the FxEscrow contract settles the trade
automatically. The trade status updates to complete, and you receive the
settlement tokens in your wallet.
You can monitor the trade status in real time on the Trades page. The status
column updates automatically every 30 seconds, or you can click a trade to see
live updates every 3 seconds. For more on managing trade settlement, see
Settle trades in the console.