Price a transfer
Prices one transfer and returns everything needed to execute it: destination.amount (expected) alongside destination.minimumAmount (the guaranteed floor), an itemised fee breakdown, expiresAt, and every action to sign or send.
A quote is an offer, not a commitment, but approval-funded quotes escrow on-chain via store() before you submit. quoteId is also the id you track the transfer by.
Authorization
bearerAuth API key for authentication.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.staging.across.to/v1/quotes" \ -H "Content-Type: application/json" \ -d '{ "origin": { "token": { "chainId": 42161, "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" }, "amount": "1000000", "depositor": "0x1111111111111111111111111111111111111111" }, "destination": { "token": { "chainId": 8453, "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" }, "recipient": "0x1111111111111111111111111111111111111111" }, "amountType": "exact_input", "fundingMethods": [ "permit2" ] }'{
"quoteId": "0x1e9b5c06da9e6759cb6ed082a6870313433eedf8114041d644b0cc953b75f4e9",
"expiresAt": "2026-09-04T01:44:01.302Z",
"originValidUntil": "2026-09-04T01:59:01.000Z",
"fillDeadline": "2026-09-04T01:59:01.000Z",
"expectedFillTimeSeconds": 1,
"refundPolicy": {
"supported": true,
"token": {
"chainId": 8453,
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
},
"refundAddress": "0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D",
"expectedSeconds": 1800
},
"origin": {
"token": {
"kind": "token",
"chainId": 42161,
"address": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"explorerUrl": "https://arbiscan.io/token/0xaf88d065e77c8cc2239327c5edb3a432268e5831",
"priceUsd": 0.999927,
"priceUsdAt": "2026-09-04T01:28:03.103Z",
"chain": {
"chainId": 42161,
"name": "arbitrum-one",
"displayName": "Arbitrum One",
"namespace": "evm",
"explorerUrl": "https://arbiscan.io",
"logoUrl": "https://alexandria.across.to/assets/chains/arbitrum.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://arb1.arbitrum.io/rpc"
}
},
"amount": "500000",
"amountUsd": "0.499963500000000005",
"depositor": "0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D"
},
"destination": {
"token": {
"kind": "token",
"chainId": 8453,
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"explorerUrl": "https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"priceUsd": 0.999927,
"priceUsdAt": "2026-09-04T01:28:03.103Z",
"chain": {
"chainId": 8453,
"name": "base",
"displayName": "Base",
"namespace": "evm",
"explorerUrl": "https://basescan.org",
"logoUrl": "https://alexandria.across.to/assets/chains/base.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://mainnet.base.org"
}
},
"grossAmount": "500000",
"amount": "483566",
"amountUsd": "0.483530699682000020",
"minimumAmount": "425350",
"minimumAmountUsd": "0.425318949449999983",
"recipient": "0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D"
},
"fundingMethod": "permit2",
"fee": {
"totalFee": {
"amount": "16434",
"token": {
"kind": "token",
"chainId": 8453,
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"explorerUrl": "https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"priceUsd": 0.999927,
"priceUsdAt": "2026-09-04T01:28:03.103Z",
"chain": {
"chainId": 8453,
"name": "base",
"displayName": "Base",
"namespace": "evm",
"explorerUrl": "https://basescan.org",
"logoUrl": "https://alexandria.across.to/assets/chains/base.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://mainnet.base.org"
}
},
"amountUsd": "0.016432800318000002"
},
"bridgeFee": {
"amount": "16434",
"token": {
"kind": "token",
"chainId": 8453,
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"explorerUrl": "https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"priceUsd": 0.999927,
"priceUsdAt": "2026-09-04T01:28:03.103Z",
"chain": {
"chainId": 8453,
"name": "base",
"displayName": "Base",
"namespace": "evm",
"explorerUrl": "https://basescan.org",
"logoUrl": "https://alexandria.across.to/assets/chains/base.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://mainnet.base.org"
}
},
"amountUsd": "0.016432800318000002"
},
"appFee": {
"amount": "0",
"token": {
"kind": "token",
"chainId": 8453,
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"explorerUrl": "https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"priceUsd": 0.999927,
"priceUsdAt": "2026-09-04T01:28:03.103Z",
"chain": {
"chainId": 8453,
"name": "base",
"displayName": "Base",
"namespace": "evm",
"explorerUrl": "https://basescan.org",
"logoUrl": "https://alexandria.across.to/assets/chains/base.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://mainnet.base.org"
}
},
"amountUsd": "0.000000000000000000"
},
"totalMaxFee": {
"amount": "74650",
"token": {
"kind": "token",
"chainId": 8453,
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"explorerUrl": "https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"priceUsd": 0.999927,
"priceUsdAt": "2026-09-04T01:28:03.103Z",
"chain": {
"chainId": 8453,
"name": "base",
"displayName": "Base",
"namespace": "evm",
"explorerUrl": "https://basescan.org",
"logoUrl": "https://alexandria.across.to/assets/chains/base.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://mainnet.base.org"
}
},
"amountUsd": "0.074644550549999994"
},
"maxBridgeFee": {
"amount": "74650",
"token": {
"kind": "token",
"chainId": 8453,
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"explorerUrl": "https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"priceUsd": 0.999927,
"priceUsdAt": "2026-09-04T01:28:03.103Z",
"chain": {
"chainId": 8453,
"name": "base",
"displayName": "Base",
"namespace": "evm",
"explorerUrl": "https://basescan.org",
"logoUrl": "https://alexandria.across.to/assets/chains/base.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://mainnet.base.org"
}
},
"amountUsd": "0.074644550549999994"
}
},
"nextActions": [
{
"kind": "sign",
"id": "funding",
"chainId": 42161,
"fundingMethod": "permit2",
"typedData": {
"types": {
"TokenPermissions": [
{
"name": "token",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
],
"PermitWitnessTransferFrom": [
{
"name": "permitted",
"type": "TokenPermissions"
},
{
"name": "spender",
"type": "address"
},
{
"name": "nonce",
"type": "uint256"
},
{
"name": "deadline",
"type": "uint256"
},
{
"name": "witness",
"type": "bytes32"
}
]
},
"primaryType": "PermitWitnessTransferFrom",
"domain": {
"name": "Permit2",
"chainId": 42161,
"verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
},
"message": {
"permitted": {
"token": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"amount": "500000"
},
"spender": "0x998d7c178A1F9607b47eA3A8e22426451b3ce707",
"nonce": "13843881897985469049085845584647367484434944714483161535969438976005497025769",
"deadline": "1788487141",
"witness": "0x1e9b5c06da9e6759cb6ed082a6870313433eedf8114041d644b0cc953b75f4e9"
}
}
}
]
}{
"error": {
"type": "request",
"code": "request.unsupported_param",
"message": "unsupported field: deadlineSec",
"param": "deadlineSec",
"requestId": "ikis71cj2ajdo6s5fqto949nao"
}
}{
"code": "unauthenticated",
"message": "the request does not have valid authentication credentials for the operation",
"details": null
}{
"code": "unauthenticated",
"message": "the request does not have valid authentication credentials for the operation",
"details": {}
}{
"error": {
"type": "request",
"code": "request.invalid_json",
"message": "string",
"param": "string",
"requestId": "string",
"details": {
"balanceCheck": {
"chainId": 0,
"token": "string",
"requiredAmount": "string",
"observedBalance": "string",
"blockNumber": 0,
"observedAt": "2019-08-24T14:15:22Z"
}
}
}
}Discover what you can move GET
Lists the chains and tokens available to move between, flagging anything unavailable with a reason code; token lists are paginated, chains are not. Anchor all four of `originChainId`/`originToken`/`destinationChainId`/`destinationToken` to get `fundingMethods` and `amountTypes` — availability means selectable, not priceable, and `POST /v1/quotes` is the binding check.
Execute a quote POST
Submits the credential that turns a quote into a transfer: either `authorization.signatures`, a map keyed by each signable `nextActions` id, or `authorization.txHash` for approval-funded quotes — sent before `expiresAt`. A 2xx means accepted, not arrived; follow it with `GET /v1/transfers/{orderId}`.