Introduction
Tracking Transfers
Follow an order from submission to a settled outcome.
Executing a quote returns an order id. Tracking is one call against that id, repeated until the order settles.
- Save the id the execution returns.
- Retrieve the order with
GET /v1/transfers/{orderId}. - Read
status.statefor progress. - Stop when
status.isTerminalis true. The outcome is decided.
const BASE_URL = "https://api.staging.across.to";
const API_KEY = process.env.ACROSS_API_KEY;
async function track(orderId: string) {
while (true) {
const res = await fetch(`${BASE_URL}/v1/transfers/${orderId}`, {
headers: { Authorization: `Bearer ${API_KEY}` },
});
const transfer = await res.json();
if (transfer.status.isTerminal) return transfer;
await new Promise((r) => setTimeout(r, 5_000));
}
}status.description is a support-safe sentence you can show a user directly.
Branch your own logic on status.state, never on description.
To list orders rather than fetch one, use
GET /v1/transfers. Its filters are named
statusState and statusReason, and addresses are filtered with depositor
and recipient — there is no generic status or address parameter, and an
unrecognised one is a 400 rather than being ignored.
Reference
The endpoint definitions, authentication, complete response, state and
reason values, filters, and pagination are all in the API Reference:
GET /v1/transfers/{orderId}— retrieve one orderGET /v1/transfers— list orders