GET /bridge/deposits/{id}
Get a bridge deposit
Get a bridge deposit.
operationId: fetchBridgeDeposit
Declared server:
https://api.testnet.nexus.xyz/v1. See Networks.
Not reachable through CCXT. Nexus-specific asset bridging. CCXT's deposit/withdraw methods model a venue's own custody, not a cross-chain bridge, and mapping them would misdescribe both.
Authentication: agentAuth, hmacAuth.
Fetch a single cross-chain deposit by id. The id is the watcher's dedup key, {tx_hash}:{log_index}. Only deposits owned by the authenticated account are returned; an id belonging to another account is a 404, not a 403, so ids are not account-probing oracles.
HMAC API key authentication. Send three headers:
X-API-Key: your key ID (e.g.nx_a1b2c3...)X-Timestamp: current time in unix millisecondsX-Signature:hex(hmac_sha256(secret, timestamp + "\n" + METHOD + "\n" + path + "\n" + query + "\n" + sha256_hex(body)))
Timestamp must be within 30 seconds of server time.
The key is network-scoped; the signature is not. The canonical string above has no network component, so the same signed request is byte-identical on every host. What stops a testnet key from authenticating against mainnet is that the key does not exist in that host's key store — sign only for the host that minted the key, and never replay a signed payload against another network. Presented to the wrong host, a key is refused with the same opaque 401 as an unknown key and must not be retried there. See “API keys are bound to one network” in the API description.
Deposit identifier, {tx_hash}:{log_index}.
The deposit.
A cross-chain deposit tracked by the watcher (read model). Because a deposit is created only when the watcher observes an on-chain transfer, tx_hash, log_index and confirmations are always present — there is no pre-arrival record.
Opaque, stable deposit id: {tx_hash}:{log_index}. This is the watcher's dedup key, which is what makes replays harmless.
0x-prefixed Nexus account being credited.
Source chain, e.g. ethereum.
Deposited asset. USDT is out of scope in this cut.
Arbitrary-precision decimal serialized as a string (lossless). Parse with a decimal type, never a float.
Arbitrary-precision decimal serialized as a string (lossless). Parse with a decimal type, never a float.
0x-prefixed sender address the funds left.
0x-prefixed deposit address the funds arrived at.
0x-prefixed source-chain transaction hash. Always present: a deposit exists only once its transfer is observed.
Log index of the transfer within tx_hash. Pairs with it to form id.
Lifecycle: detected → confirming → credited | failed | reverted. detected is 0 confirmations, confirming is below the required depth, credited is final at the required depth. The two terminal failure states are distinct: failed means the deposit could not be credited; reverted means a reorg took it back. A client distinguishes them on this field, without parsing a reason.
Confirmations observed so far.
Confirmations required before crediting.
Unix epoch timestamp in milliseconds.
Unix epoch timestamp in milliseconds.
Unix ms when the deposit was credited; null until status is credited.
Authentication failed. All 401 responses return the same opaque body to prevent information leakage. A credential minted on a different network is one of the causes it hides — by design, so that a key id cannot be probed for existence on another network. Do not retry it against another host.
No such resource is owned by the authenticated account (e.g. a deposit id that does not exist, or belongs to another account).
Rate limit exceeded. Retryable — honour retry-after and back off; this is what separates a 429 from the permanent 403 jurisdiction refusals. Branch on the body's code, which is always RATE_LIMIT_EXCEEDED, and on bucket to learn WHICH budget bottlenecked — the buckets are independent, so a caller at its read ceiling can still submit orders and should not back off the whole client. Do not parse message: it is a diagnostic whose wording is not stable. Requests are charged by weight, so exhausting a budget takes fewer heavy calls than x-ratelimit-limit suggests. See “Rate limits” in the API description.
GET /v1/bridge/deposits/{id} HTTP/1.1
Host: api.testnet.nexus.xyz
X-API-Key: YOUR_API_KEY
Accept: */*
{
"id": "text",
"account_id": "text",
"chain": "text",
"asset": "USDC",
"amount": "text",
"credited_amount_usdx": "text",
"from": "text",
"to": "text",
"tx_hash": "text",
"log_index": 1,
"status": "detected",
"confirmations": 1,
"required_confirmations": 1,
"created_at": 1,
"updated_at": 1,
"credited_at": 1
}Test it cannot sign this request. X-Signature is an HMAC computed per call: see Authentication, or use an SDK.
API version 0.9.131
Last updated

