Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developers.circle.com/llms.txt

Use this file to discover all available pages before exploring further.

By the end of this quickstart, you will have requested a quote, signed a trade with your wallet, and funded a settlement onchain.

Prerequisites

Before you begin, ensure you have:
  • 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.

Step 1: Sign in and complete onboarding

1

Navigate to the console

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.

Step 2: Request a quote

1

Open the 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.

Step 3: Connect your wallet

1

Select or connect a wallet

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.

Step 4: Lock the rate and create the trade

1

Review the tradable quote

The confirmation panel displays:
  • 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.

Step 5: Fund the trade

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.