Skip to main content
POST
Quote a CCTP transfer

Authorizations

Authorization
string
header
required

Client API Key or Client Session Token (CST). Pass as a Bearer token in the Authorization header.

Body

application/json

Send exactly one of amount or amountOut. Unknown fields are rejected.

sourceChain
string
required

CAIP-2 id of the chain to send from, an EVM chain or Solana.

Pattern: ^(eip155:\d+|solana:[1-9A-HJ-NP-Za-km-z]{32})$
Example:

"eip155:11155111"

destinationChain
string
required

CAIP-2 id of the chain to send to, an EVM chain or Solana.

Pattern: ^(eip155:\d+|solana:[1-9A-HJ-NP-Za-km-z]{32})$
Example:

"eip155:84532"

amount
string
required

USDC to burn on the source chain, as a decimal string with up to 6 decimals (not base units).

Pattern: ^\d+(\.\d{1,6})?$
Example:

"0.1"

amountOut
string

USDC the recipient must receive (exact-out). Portal works out the amount to burn so the recipient gets at least this after fees (exactly this when Circle charges the full maxFee, as it does in practice).

Pattern: ^\d+(\.\d{1,6})?$
Example:

"0.045735"

speed
enum<string>
default:auto

auto and fast use Fast when the source chain offers it, otherwise Standard. standard always uses Standard.

Available options:
auto,
fast,
standard
recipient
string

Address to receive the USDC, validated against the destination chain. An EVM address for an EVM destination, or a Solana wallet address (not a token account) for a Solana destination, where Circle mints into the wallet's USDC token account. Defaults to the client's own address on the destination chain. Any other address must be on the environment's destination allowlist.

Required string length: 1 - 64

Response

Quote

data
object

When ROUTE_SUPPORTED fails, only sourceChain, destinationChain, ready and checks are returned.