Changelog
Changes to the MegTrust Client API. Breaking changes ship as a new version path; v1 only grows.
2026-09 — v1 published
The Client API v1 is documented publicly, together with its OpenAPI document, the Node.js client and
the local API connector. v1 covers wallets and balances, per-network deposit addresses, transactions,
destinations, payouts (idempotent and human-approved), webhooks (withdrawal.status_changed,
deposit.received, deposit.completed), Ed25519 request signing, rate limiting and replay protection.
Added
- Cancel a payout —
POST /api/v1/withdrawals/{id}/cancelcancels a payout that is stillpending_approval. See Cancel a payout. - Cursor paging —
GET /api/v1/transactionsacceptscursor,created_afterandcreated_before, and returnsmeta.next_cursor(nullon the last page). See Reconcile transactions. - Single-transaction lookup —
GET /api/v1/transactions/{id}returns every leg of one movement, as an array. - Withdrawal status
cancelled. - Error codes
transaction_not_found(404) andwithdrawal_not_cancellable(409). - API connector tools —
get_transaction(read),cursoronlist_transactions, andcancel_withdrawal(only withMEGTRUST_MCP_ALLOW_WRITES=true). See API connector MCP.
Tightened before public launch
If you integrated early, check these against your client:
- HMAC signatures must be exactly 64 lowercase hex characters.
- Ed25519 signatures must be canonical padded standard base64.
POSTbodies reject unknown fields with400.Idempotency-Keyis 1–128 printable ASCII characters without spaces.- Reusing an idempotency key with a different body returns
409 idempotency_conflict. - A withdrawal is visible only to keys of the workspace that created it.
- An
amountwith more decimals than the asset allows returns400. - An asset held on several networks needs
network; an omittednetworkresolves to the network the asset is held on. - Length limits:
amountup to 100 characters; ids,networkandaddressup to 128; names up to 120. - Wallet and transaction reads fail with an error instead of returning partial data.
- Request bodies over 64 KiB return
413 request_too_large. - The transaction list contains on-chain movements only. Follow payouts with
GET /api/v1/withdrawals.