Create persistent deposit addresses
Returns a persistent, infinite-TTL deposit address. The same request parameters always resolve to the same address, so you can request it once and reuse it. Requires an API key with the deposit-address permission (Bearer auth). The supported destination is currently only USDC-SPOT on HyperCore, delivered to an EVM recipient address. You don't need to hardcode which chains you can deposit from (input chains), the API response will include that information in the supportedInputs field including the input token to send there, and that route's min/max limits. Strongly provide refundAddresses. It is optional, but if a deposit can't be completed and no refund address was supplied, funds can only be recovered through a manual refund process that takes significantly longer than the automatic refund. You would need to contact Across support to initiate the manual refund.
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
curl -X POST "https://across.to/api/deposit-addresses" \ -H "Content-Type: application/json" \ -d '{ "destination": { "token": { "chainId": 1337, "address": "0x2000000000000000000000000000000000000000" }, "recipient": "0x1111111111111111111111111111111111111111" }, "refundAddresses": [ { "namespace": "evm", "address": "0x2222222222222222222222222222222222222222" } ] }'{
"destination": {
"token": {
"chainId": 1337,
"address": "0x2000000000000000000000000000000000000000",
"symbol": "USDC-SPOT",
"name": "USDC",
"decimals": 8
},
"recipient": {
"namespace": "evm",
"address": "0x1111111111111111111111111111111111111111"
}
},
"refundAddresses": [
{
"namespace": "evm",
"address": "0x2222222222222222222222222222222222222222"
}
],
"expiresAt": null,
"depositInstructions": [
{
"depositAddress": {
"namespace": "evm",
"address": "0xAcc0dDdb8169FD06a34AADd52a39A4166a15BD6E"
},
"supportedInputs": [
{
"originChainId": 1,
"inputToken": {
"chainId": 1,
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6
},
"limits": {
"minInputAmount": "5000000",
"maxInputAmount": "10000000000000"
},
"indicativeFees": {
"proportionalPct": "100000000000000",
"fixedFeeUsd": 0.246894
},
"indicativeFillTime": 30
},
{
"originChainId": 42161,
"inputToken": {
"chainId": 42161,
"address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6
},
"limits": {
"minInputAmount": "5000000",
"maxInputAmount": "10000000000000"
},
"indicativeFees": {
"proportionalPct": "100000000000000",
"fixedFeeUsd": 0.246894
},
"indicativeFillTime": 30
},
{
"originChainId": 8453,
"inputToken": {
"chainId": 8453,
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6
},
"limits": {
"minInputAmount": "5000000",
"maxInputAmount": "10000000000000"
},
"indicativeFees": {
"proportionalPct": "100000000000000",
"fixedFeeUsd": 0.246894
},
"indicativeFillTime": 30
},
{
"originChainId": 57073,
"inputToken": {
"chainId": 57073,
"address": "0x2D270e6886d130D724215A266106e6832161EAEd",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6
},
"limits": {
"minInputAmount": "5000000",
"maxInputAmount": "10000000000000"
},
"indicativeFees": {
"proportionalPct": "100000000000000",
"fixedFeeUsd": 0.246894
},
"indicativeFillTime": 30
},
{
"originChainId": 59144,
"inputToken": {
"chainId": 59144,
"address": "0x176211869cA2b568f2A7D4EE941E073a821EE1ff",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6
},
"limits": {
"minInputAmount": "5000000",
"maxInputAmount": "10000000000000"
},
"indicativeFees": {
"proportionalPct": "100000000000000",
"fixedFeeUsd": 0.246894
},
"indicativeFillTime": 30
},
{
"originChainId": 143,
"inputToken": {
"chainId": 143,
"address": "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6
},
"limits": {
"minInputAmount": "5000000",
"maxInputAmount": "10000000000000"
},
"indicativeFees": {
"proportionalPct": "100000000000000",
"fixedFeeUsd": 0.246894
},
"indicativeFillTime": 30
},
{
"originChainId": 10,
"inputToken": {
"chainId": 10,
"address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6
},
"limits": {
"minInputAmount": "5000000",
"maxInputAmount": "10000000000000"
},
"indicativeFees": {
"proportionalPct": "100000000000000",
"fixedFeeUsd": 0.246894
},
"indicativeFillTime": 30
},
{
"originChainId": 137,
"inputToken": {
"chainId": 137,
"address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6
},
"limits": {
"minInputAmount": "5000000",
"maxInputAmount": "10000000000000"
},
"indicativeFees": {
"proportionalPct": "100000000000000",
"fixedFeeUsd": 0.246894
},
"indicativeFillTime": 30
},
{
"originChainId": 130,
"inputToken": {
"chainId": 130,
"address": "0x078D782b760474a361dDA0AF3839290b0EF57AD6",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6
},
"limits": {
"minInputAmount": "5000000",
"maxInputAmount": "10000000000000"
},
"indicativeFees": {
"proportionalPct": "100000000000000",
"fixedFeeUsd": 0.246894
},
"indicativeFillTime": 30
},
{
"originChainId": 480,
"inputToken": {
"chainId": 480,
"address": "0x79A02482A880bCE3F13e09Da970dC34db4CD24d1",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6
},
"limits": {
"minInputAmount": "5000000",
"maxInputAmount": "10000000000000"
},
"indicativeFees": {
"proportionalPct": "100000000000000",
"fixedFeeUsd": 0.246894
},
"indicativeFillTime": 30
}
]
}
],
"id": "75795-1781095882239-8e49a5353db9"
}{
"type": "AcrossApiError",
"code": "INVALID_PARAM",
"status": 400,
"message": "Only HyperCore USDC-SPOT (chainId 1337, 0x2000…0000) is a supported destination"
}{
"type": "AcrossApiError",
"status": 403,
"message": "API key does not have permission for this endpoint"
}{
"type": "AcrossApiError",
"code": "AMOUNT_TOO_HIGH",
"status": 400,
"message": "Amount exceeds max. deposit limit- 20003.800721 USDzC"
}API Reference
Complete API reference for the Across Protocol.
Get a gasless swap quote GET
Quote a **gasless** swap or transfer: the user authorizes it with a single EIP-712 signature (`swapTx` — an ERC-3009 or Permit2 permit) and a submitter broadcasts it on-chain, so the user pays no gas. Works for any Across-supported EVM route whose input token supports gasless authorization (e.g. USDC).