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

Supported operations

We quote both stablebonds and stablecoins (for example USDC) on Monad.

Asset identifiers

Monad 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=monad.

Stablebond addresses

Live token-contract addresses for every stablebond on Monad, each linked to the explorer:

Register a Monad wallet

Register the wallet as a payment account with accountDetails of kind address and chain monad. 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 monad in the quote to pick this chain.

Offramps

On a Monad offramp, the order’s fundingInstructions.rail is monad, 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 MON. 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

Swaps