Go-live checklist
What to prove in the sandbox, and the one check to repeat in production.
In the sandbox
Use the sandbox host (https://stagingvault.megtrust.com) and a sandbox key to confirm each item:
- Key registration — your public key is registered and you have its Key ID.
- A signed read —
GET /api/v1/walletsreturns200. - A foreign-wallet 404 —
GET /api/v1/wallets/{id}with an id that is not yours returns404 wallet_not_found. - Deposit addresses — your UI shows
deposit_addresses[]by exact network, never the top-leveladdress. - Destination — a destination registered through the API shows
can_send: trueonce verified. - Payout retry recovery — a payout retried with the same
Idempotency-Keyreturnsmeta.idempotent_replay: true, and you can find it withGET /withdrawals?idempotency_key=…. - Required approvals — your organisation's approvers approve a sandbox payout, and you follow it to
completedwithGET /withdrawals/{id}. - Cancel — cancelling a payout still
pending_approvalreturnscancelled; your code handles409 withdrawal_not_cancellable. - Final settlement — you store
tx_hashand never show "sent" on a202. - Reconciliation — you page
GET /transactionswithmeta.next_cursoruntil it isnull. - Webhook receiver — deliveries verify, deduplicate by
event.id, and return2xxwithin 10 seconds. - Errors — your code branches on
error.code, honoursRetry-After, and re-signs every attempt.
In production
- Generate a separate production keypair and register it in the production console.
- Repeat the read-only authentication check against
https://vault.megtrust.comwith the production key. - Register your production webhook receiver and store its secret.
The supplied client's own checks do not prove that your deployment's credentials, approval policies, network funding or webhook receiver are configured. Only the steps above do.