POST/v1/exchanges/{id}/sent
Optional. Report your deposit transaction so the claim starts now instead of when the scanner sees it.
Request
POST /v1/exchanges/{id}/sent while awaiting_deposit, right after sending. Needs x-api-key.
| Name | Required | Rule |
|---|---|---|
id | yes | Path. The exchange id |
txHash | yes | Body. The transaction id your wallet or explorer shows for the from asset |
curl -X POST "$API/v1/exchanges/5d1f3c2e-8a1b-4c7d-9e0f-123456789abc/sent" \
-H "x-api-key: $KEY" \
-H "content-type: application/json" \
-d '{ "txHash": "3gU4kPRprSxvLgxjw3NTfLNigddLhx4LJ8JV5jEeyHa3z1TuHHRG1oAy9u9pLdK3zcKQbHD24CyHwGCjijFMCQ7t" }'Response
200 with the updated exchange object; use it in place of your next poll. The example below is abbreviated; every field is described on GET /v1/exchanges/{id}.
| Field | Meaning |
|---|---|
status | confirming once the deposit is claimed |
fromTxHash | The hash you reported |
{
"id": "5d1f3c2e-8a1b-4c7d-9e0f-123456789abc",
"status": "confirming",
"fromTxHash": "3gU4kPRprSxvLgxjw3NTfLNigddLhx4LJ8JV5jEeyHa3z1TuHHRG1oAy9u9pLdK3zcKQbHD24CyHwGCjijFMCQ7t",
"toTxHash": null,
"updatedAt": 1756900020,
"reference": null
}Errors
| HTTP | Code | Extra fields | When |
|---|---|---|---|
| 400 | validation | field | txHash is missing or malformed |
| 400 | tx_not_found | — | We cannot find the hash on chain |
| 400 | wrong_reservation | — | The hash belongs to a different exchange |
| 401 | unauthorized | — | Missing or invalid x-api-key |
| 403 | geo_blocked | — | Request from a blocked region |
| 404 | not_found | — | No exchange with this id on your account |
| 409 | not_awaiting_deposit | — | The exchange is not awaiting_deposit |
| 429 | rate_limited | retryAfter | Over the limit; see Rate limits |
Notes
txHashformats: a Solana signature, an EVM or Bittensor0xhash, a Bitcoin txid, or a Subtensor extrinsic id (<block>-<idx>). Anything else is avalidationerror.- A subnet token sent with btcli's MEV shield: post what btcli prints (
<block>-<idx>) or the inner transfer hash; the shield's own hash is not a deposit. - Skipping this call only delays the claim until the scanner sees the deposit.
