Changelog

Every change to the Aeses API is recorded here. Breaking changes only ship under a new dated API version; minor additions are backwards compatible.


2026-09-10

Fixed

  • Withdrawals: withdrawal.completed is now only sent after on-chain confirmation. Previously, crypto withdrawals could report completed as soon as the transaction was broadcast. They now follow the documented lifecycle: withdrawal.broadcasted when the transaction is sent (status broadcasted), then withdrawal.completed once it is mined and reaches the confirmation threshold — or withdrawal.failed with automatic refund if the network never mines it or reverts it.

Changed

  • Withdrawals that the network dropped are now re-broadcast automatically; the ones that cannot be resolved safely are settled after manual review, which delivers the same withdrawal.completed / withdrawal.failed events. See handling withdrawal events.
  • Documentation of the Withdrawal object and its webhook payload now matches the fields actually returned (address, tx_hash, fail_reason, reference_id, net_amount) and lists the processing and cancelled statuses.
  • Documentation of the webhook envelope now matches what is delivered: { id, event, created_at, data } (previously documented as type, created, data.object, livemode, api_version, which were never sent). The payload itself did not change.

2026-05-15

Added

  • POST /v1/webhook-deliveries/:id/replay — programmatic replay of any past delivery, in addition to the existing dashboard control. Replays now also accept an optional endpoint_url override so you can route replays to a new handler without changing your stored webhook config.
  • Idempotency-Replayed: true response header on replayed idempotent responses. Lets you confirm at the client level that a response was served from cache.

Changed

  • The fee field on Withdrawal is now always populated at creation time — previously it was null until the transaction was broadcast. This makes total cost predictable before broadcast.

2026-03-04

Added

  • New webhook event deposit.confirming, emitted on the first observed confirmation. Lets you show "Payment received, awaiting confirmations" in checkout UIs without polling.
  • Support for Base and Arbitrum mainnets in chain enums across deposits and withdrawals.

Deprecated

  • The Aeses-Account request header is deprecated in favor of API-key-based account scoping. It is silently ignored on 2026-03-04 and later. Keys created before this date continue to honor the header for one year.

2026-01-15

Added

  • Initial public release of the /v1/ API.
  • Endpoints: balances, deposits, withdrawals, webhook deliveries.
  • Webhooks with HMAC-SHA256 signatures, retry schedule, and a manual replay UI in the dashboard.
  • Cursor-based pagination, idempotency keys, and structured errors.
  • Supported networks: Ethereum, Bitcoin, Tron, Solana, Polygon, BNB Chain, Optimism.