ドラランプ・デジタルドル
dolaramp
changelog blog
← changelog

Withdrawals answer 202 pending, and send what's available

apibreaking change
// shippeda withdrawal already on its way is never reported as failed, and the panel lets you send what fits with one explicit click.
// breaking change · what you need to changePOST /v1/hotwallet/withdraw can now answer 202 with status: pending and an operation_id instead of an error when the transfer is already on the network but its landing was not seen yet. treat 202 as in flight: wait for withdraw.confirmed or withdraw.failed, and retry only with the same idempotency_key, which never sends twice.

202 pending

most withdrawals still answer 200 with status: confirmed once the transfer lands. sometimes the transfer is already on the network but its landing is not seen in time. that call now answers 202 with status: pending, the operation_id and the tx_hash (on tron, the trace_id) when known.

it is never reported as failed at that point. the outcome arrives later, usually within a minute, as withdraw.confirmed or withdraw.failed with a reason: not_landed, onchain_reverted, onchain_error or gasfree_failed. retrying with the same idempotency_key returns the same operation and never sends twice. after a withdraw.failed nothing left the hotwallet. the api reference has the schema.

send what's available, in the panel

the panel always asks for the full amount. when a tron withdrawal is larger than the hotwallet can send, it now tells you in plain words: the hotwallet can send $X right now, $Y is reserved, nothing was sent.

next to that message there is a send the available amount button. it resends the same withdrawal with allow_partial: true, so a partial payout only happens when someone clicks for it, never on its own. the wording is in english, portuguese and spanish.

api integrations keep the same rule: a payout larger than the balance is refused unless the call asks for allow_partial.

fixes and improvements

  • the withdrawal response now carries operation_id, to match with GET /v1/operations and webhooks.