Across Docs

Price a transfer

Prices one transfer and returns everything needed to execute it: destination.amount (expected) alongside destination.minAmount (the guaranteed floor), an itemised fee breakdown, expiresAt, and every action to sign or send. A quote is an offer, not a commitment. Complete the returned nextActions in order. Only when they end with submit_execution, POST the results to POST /v1/quotes/{orderId}/executions. A quote funded by an approval and an on-chain prefunded-store transaction has no submit_execution: that transaction starts the transfer, so there is nothing to POST.

POST
/v1/quotes

Authorization

bearerAuth
AuthorizationBearer <token>

API key for authentication.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Which side carries the amount is determined by amountType. The oneOf below encodes that: exact_input (the default, and the only mode that may leave amountType off) requires origin.amount (or origin.minInputAmount, which excludes originAction); exact_output and min_output require destination.amount and must name amountType explicitly.

The body is strict: an unrecognised or removed field (for example fundingMethods) is rejected with 400 request.unsupported_param naming the field.

Spend a known input amount. amountType may be omitted -- this is the default.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/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",    "authorizationPolicy": {      "allowedTypes": [        "approval",        "permit2"      ]    }  }'

{
  "expiresAt": "2026-10-15T23:44:04.020Z",
  "originValidUntil": "2026-10-15T23:59:05.000Z",
  "expectedFillTimeMs": 1252,
  "refundTo": [
    {
      "token": {
        "kind": "token",
        "chainId": 42161,
        "address": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
        "symbol": "USDC",
        "name": "USD Coin",
        "decimals": 6,
        "explorerUrl": "https://arbiscan.io/token/0xaf88d065e77c8cc2239327c5edb3a432268e5831",
        "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"
        }
      },
      "refundAddress": {
        "address": "0x1111111111111111111111111111111111111111",
        "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"
        }
      }
    }
  ],
  "origin": {
    "token": {
      "kind": "token",
      "chainId": 42161,
      "address": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
      "symbol": "USDC",
      "name": "USD Coin",
      "decimals": 6,
      "explorerUrl": "https://arbiscan.io/token/0xaf88d065e77c8cc2239327c5edb3a432268e5831",
      "priceUsd": 0.999608,
      "priceUsdAt": "2026-10-15T23:28:01.141Z",
      "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": "1000000",
    "amountUsd": "0.999608000000000052",
    "maxAmount": "1000000",
    "maxAmountUsd": "0.999608000000000052",
    "depositor": {
      "address": "0x1111111111111111111111111111111111111111",
      "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"
      }
    }
  },
  "destination": {
    "token": {
      "kind": "token",
      "chainId": 8453,
      "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "symbol": "USDC",
      "name": "USD Coin",
      "decimals": 6,
      "explorerUrl": "https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "priceUsd": 0.999608,
      "priceUsdAt": "2026-10-15T23:28:01.141Z",
      "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": "1000000",
    "amount": "979842",
    "amountUsd": "0.979457901936000019",
    "recipient": {
      "address": "0x1111111111111111111111111111111111111111",
      "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"
      }
    },
    "minAmount": "921185",
    "minAmountUsd": "0.920823895480000099"
  },
  "fee": {
    "totalFee": {
      "amount": "20158",
      "token": {
        "kind": "token",
        "chainId": 8453,
        "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "symbol": "USDC",
        "name": "USD Coin",
        "decimals": 6,
        "explorerUrl": "https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "priceUsd": 0.999608,
        "priceUsdAt": "2026-10-15T23:28:01.141Z",
        "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.020150098064000001"
    },
    "transferFee": {
      "amount": "20158",
      "token": {
        "kind": "token",
        "chainId": 8453,
        "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "symbol": "USDC",
        "name": "USD Coin",
        "decimals": 6,
        "explorerUrl": "https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "priceUsd": 0.999608,
        "priceUsdAt": "2026-10-15T23:28:01.141Z",
        "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.020150098064000001"
    },
    "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.999608,
        "priceUsdAt": "2026-10-15T23:28:01.141Z",
        "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"
    },
    "maxTransferFee": {
      "amount": "78815",
      "token": {
        "kind": "token",
        "chainId": 8453,
        "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "symbol": "USDC",
        "name": "USD Coin",
        "decimals": 6,
        "explorerUrl": "https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "priceUsd": 0.999608,
        "priceUsdAt": "2026-10-15T23:28:01.141Z",
        "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.078784104519999995"
    },
    "maxTotalFee": {
      "amount": "78815",
      "token": {
        "kind": "token",
        "chainId": 8453,
        "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "symbol": "USDC",
        "name": "USD Coin",
        "decimals": 6,
        "explorerUrl": "https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "priceUsd": 0.999608,
        "priceUsdAt": "2026-10-15T23:28:01.141Z",
        "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.078784104519999995"
    }
  },
  "gasEstimates": [
    {
      "leg": "origin",
      "effect": "included_in_transfer_fee",
      "amount": "6827047500000",
      "token": {
        "kind": "native",
        "chainId": 42161,
        "address": "0x0000000000000000000000000000000000000000",
        "symbol": "ETH",
        "name": "ETH",
        "decimals": 18,
        "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"
        }
      },
      "amountUsd": "0.016644089460000001",
      "gasUnits": "325000"
    },
    {
      "leg": "destination",
      "effect": "included_in_transfer_fee",
      "amount": "1397522801495",
      "token": {
        "kind": "native",
        "chainId": 8453,
        "address": "0x0000000000000000000000000000000000000000",
        "symbol": "ETH",
        "name": "ETH",
        "decimals": 18,
        "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.003405858060000000",
      "gasUnits": "221560"
    }
  ],
  "nextActions": [
    {
      "kind": "sign_typed_data",
      "id": "funding",
      "chainId": 42161,
      "typedData": {
        "types": {
          "EIP712Domain": [
            {
              "name": "name",
              "type": "string"
            },
            {
              "name": "version",
              "type": "string"
            },
            {
              "name": "chainId",
              "type": "uint256"
            },
            {
              "name": "verifyingContract",
              "type": "address"
            }
          ],
          "ReceiveWithAuthorization": [
            {
              "name": "from",
              "type": "address"
            },
            {
              "name": "to",
              "type": "address"
            },
            {
              "name": "value",
              "type": "uint256"
            },
            {
              "name": "validAfter",
              "type": "uint256"
            },
            {
              "name": "validBefore",
              "type": "uint256"
            },
            {
              "name": "nonce",
              "type": "bytes32"
            }
          ]
        },
        "primaryType": "ReceiveWithAuthorization",
        "domain": {
          "name": "USD Coin",
          "version": "2",
          "chainId": 42161,
          "verifyingContract": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
        },
        "message": {
          "from": "0x1111111111111111111111111111111111111111",
          "to": "0x998d7c178A1F9607b47eA3A8e22426451b3ce707",
          "value": "1000000",
          "validAfter": "0",
          "validBefore": "1792108745",
          "nonce": "0x7a961202c77345e711eb85ec722687848327dc26bd81f6e8b09c3dd7489044f4"
        }
      },
      "ecosystem": "evm",
      "authorization": {
        "type": "erc3009",
        "scope": {
          "token": {
            "chainId": 42161,
            "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
          },
          "amount": "1000000",
          "recipient": "0x998d7c178A1F9607b47eA3A8e22426451b3ce707",
          "expiresAt": "2026-10-15T23:59:05.000Z"
        }
      }
    },
    {
      "kind": "submit_execution",
      "id": "submit-execution",
      "inputs": [
        "funding"
      ]
    }
  ],
  "orderId": "0x7a961202c77345e711eb85ec722687848327dc26bd81f6e8b09c3dd7489044f4",
  "amountType": "exact_input",
  "refundPolicy": {
    "supported": false,
    "reason": "irreversible_rail",
    "message": "This route does not guarantee an automatic refund. Recovery may require destination completion or operator assistance. Unfilled Across deposits remain eligible for an origin-chain refund after their SpokePool expiry and refund-bundle settlement."
  }
}

{
  "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,
        "tokenAddress": "string",
        "requiredAmount": "string",
        "observedBalance": "string",
        "blockNumber": 0,
        "observedAt": "2019-08-24T14:15:22Z"
      },
      "amountLimits": {
        "side": "min",
        "amount": "string",
        "token": {
          "chainId": 0,
          "address": "string"
        },
        "rail": "string",
        "observedAt": "2019-08-24T14:15:22Z"
      },
      "retryWithAllowedAuthorizationTypes": [
        "approval"
      ]
    }
  }
}