API Reference

Complete API reference for the Across Protocol.

Scroll (Chain ID: 534352) — Deprecation Notice
Across will be deprecating support for the Scroll chain (Chain ID: 534352) by Thursday, 30th April 2026. Due to decreasing infrastructure support and reduced activity on Scroll, we are reallocating resources toward maintaining and improving support for newer, more active chains. After this date, bridging into or out of Scroll will no longer return quotes via the /swap API or the suggested-fees API, and the /swap/chains endpoint will stop listing Scroll as a supported chain.

The Across API provides programmatic access to crosschain bridging and swap functionality. Use these endpoints to get quotes, check limits, query deposit status, and more.

Server URLs

EnvironmentBase URL
Productionhttps://app.across.to/api

Authentication

All API requests require a Bearer token passed via the Authorization header, and an integratorId query parameter.

Don't have an API key yet? Get your API key and Integrator ID in under a minute.

Using API Keys

Pass your API key as a Bearer token in the Authorization header on every request.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://app.across.to/api/swap/approval?originChainId=42161&destinationChainId=8453&inputToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831&outputToken=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&amount=10000000&tradeType=minOutput&depositor=0xYourAddress&integratorId=0xdead"
const res = await fetch(
  "https://app.across.to/api/swap/approval?originChainId=42161&destinationChainId=8453&inputToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831&outputToken=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&amount=10000000&tradeType=minOutput&depositor=0xYourAddress&integratorId=0xdead",
  {
    headers: { Authorization: "Bearer YOUR_API_KEY" },
  }
);
import requests

response = requests.get(
    "https://app.across.to/api/swap/approval",
    params={
        "originChainId": "42161",
        "destinationChainId": "8453",
        "inputToken": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
        "outputToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "amount": "10000000",
        "tradeType": "minOutput",
        "depositor": "0xYourAddress",
        "integratorId": "0xdead",
    },
    headers={"Authorization": "Bearer YOUR_API_KEY"},
)
req, _ := http.NewRequest("GET",
    "https://app.across.to/api/swap/approval?originChainId=42161&destinationChainId=8453&inputToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831&outputToken=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&amount=10000000&tradeType=minOutput&depositor=0xYourAddress&integratorId=0xdead",
    nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
resp, _ := http.DefaultClient.Do(req)
let res = reqwest::Client::new()
    .get("https://app.across.to/api/swap/approval?originChainId=42161&destinationChainId=8453&inputToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831&outputToken=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&amount=10000000&tradeType=minOutput&depositor=0xYourAddress&integratorId=0xdead")
    .header("Authorization", "Bearer YOUR_API_KEY")
    .send()
    .await?;
uri = URI("https://app.across.to/api/swap/approval?originChainId=42161&destinationChainId=8453&inputToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831&outputToken=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&amount=10000000&tradeType=minOutput&depositor=0xYourAddress&integratorId=0xdead")
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Bearer YOUR_API_KEY"
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }

Endpoints

Browse the individual endpoint pages in the sidebar for full parameter details, response schemas, and code samples.

On this page