Skip to main content
Base We support onramps and offramps on Base. Base is an EVM chain, so assets are plain ERC-20 contracts. The end-to-end flows are in the Onramps and Offramps guides.

Supported operations

We quote stablebonds on Base. Stablecoin (for example USDC) onramps and offramps run on Solana, Stellar and Monad.

Asset identifiers

Base assets are identified by the raw token contract address only, for example 0xcC77c598d42f2f78Beb42C91d12B9d4041a5cE29.
Do not prefix with a symbol. A SYMBOL:0x... identifier (the Stellar-style format) fails on an EVM chain. Pass only the 0x... address, the token’s asset from GET /supported_assets?chain=base.

Stablebond addresses

Live token-contract addresses for every stablebond on Base, each linked to Basescan:

Register a Base wallet

Register the wallet as a payment account with accountDetails of kind address and chain base. Set $ORGANIZATION_ID to the organization that owns the wallet: your own organization or a customer organization. See Organizations in the route.
Use the returned id as the source or destination of a quote. An EVM address is valid on every EVM chain, so the account’s rails can list more than one EVM chain. Set sourceRail or destinationRail to base in the quote to pick this chain.

Offramps

On a Base offramp, the order’s fundingInstructions.rail is base, and fundingInstructions.destination gives the address to send the token to. The source asset is an ERC-20 token. When preparedTransaction is present, its transaction is an unsigned EIP-1559 transaction, 0x-prefixed hex, that calls the token’s transfer from the customer’s wallet. The customer signs it, submits it and pays the gas in ETH. Otherwise, send the order’s source.amount of source.asset to address. The prepared transaction uses the wallet’s next nonce, so it goes stale if the wallet sends another transaction first. Then call POST /organization/{organizationId}/order/{id}/funding_instructions/refresh and sign the new one. See Offramps.

Onramps

Offramps