featureswebhookswallets
New features
withdrawal.partial webhook. A multi-beneficiary NGN withdrawal that finishes with some bank transfers paid and the rest failed now emits withdrawal.partial, alongside the existing withdrawal.success and withdrawal.failed events. Previously a partial outcome produced no webhook. The new topic is additive: existing subscriptions are unchanged, and you opt in by adding withdrawal.partial to an endpoint’s event_types. See Withdrawal webhook events.Fixes
- Travel Rule
submission_urlin webhooks. Thedeposit.action_requiredevent now carries the same/partner/wallets/...path as transaction reads, so it can be called directly with an API key. A deposit that was already on hold before this change may receive one additionaldeposit.action_requiredevent, with a new eventid, carrying the corrected URL.
Documentation
Bulk withdrawals documented. The Partner API has always accepted up to 50 bank-account beneficiaries in one signed NGN withdrawal request. A new Bulk withdrawals guide now spells out the item and transfer limits, the ₦100 per-transfer fee, thepartial outcome and its refund behaviour, and how to reconcile every transfer by client_item_id. The API reference now also declares the 1 to 50 item range on the quote and submit bodies. No API behaviour changed.featureswalletssecurity
New features
Signed direct partner withdrawals. Dedicated API keys can explicitly enablewallets:withdraw and use Ed25519-signed quote and direct-submit requests. NGN amounts above the per-transfer limit are represented as grouped transfers in quote, submission, and transaction responses. The same list envelope supports one-item USD stablecoin settlement. See Withdrawals.Compatibility
Public withdrawal requests now use one list-shaped body for both quote and submit. Transport retries keep the same business idempotency key and body while generating a new timestamp, nonce, and signature.featuresupdatesfixes
New features
Trade fill email notifications. Account holders now receive email notifications when their exchange orders fill, bucketed to avoid noisy delivery on partial fills. No API changes are required — emails are sent automatically to the account’s verified address.Email OTP gate for passkey enrollment. Adding a new passkey to an account now requires a one-time code delivered by email before enrollment can complete. This protects accounts from passkey takeover even if a session is compromised. See Authentication for the supported credential flows.Updates
KYB verification upgraded. Business onboarding now runs on a new verification flow. The KYB statuses returned by the API and the sandboxPOST /simulate/kyb/status endpoint are unchanged, so integrations that read KYB state continue to work without modification.Partner API key setup links hardened. The one-time setup links partners use to provision API keys are now more resilient to reuse and edge cases during onboarding, making the flow described in the Quickstart more reliable.Exchange routing hardened. An internal configuration option that could affect order routing was removed, so routing behaviour is now consistent across deployments. No action is required from API consumers.Bug fixes
- Order admission near full balance. Orders that would consume nearly the entire available balance are now admitted correctly instead of being rejected by a rounding edge case. See Order management.
- Passkey revoke listing. Revoked passkeys are now filtered out of the active passkey listing so the credentials shown match what can actually be used to sign in.
- TRON deposits and withdrawals. Several fixes to TRON network handling make TRON deposits and withdrawals more reliable under load.
- Wallet notifications. Wallet event notifications are more consistent after an internal configuration cleanup, reducing the chance of missed or delayed wallet events.
- Exchange restart recovery. Recovery after an exchange restart is more robust, eliminating rare cases where a restart could delay order processing.
featuresupdatesfixes
New features
WebSocket ticket authentication. You can now authenticate private WebSocket subscriptions and order commands with short-lived tickets instead of passing your API key in the connection URL. This keeps API keys off the wire and makes it safer to fan out streaming connections from constrained environments. See WebSocket Overview for the supported authentication flows.Partner API and API key onboarding. Partner accounts can now provision API keys through a guided setup flow, with reference documentation for the partner endpoints. Start with the Quickstart and Authentication guides.Upgraded crypto settlement infrastructure. Crypto deposits and withdrawals now run on upgraded settlement infrastructure across supported chains. Existing crypto deposit addresses and withdrawal flows are unchanged for API consumers — addresses, networks, and confirmations continue to behave as documented.Updates
Exchange fill notifications. Fill notifications are now bucketed for delivery and no longer include system-internal recipients, producing cleaner and more predictable webhook traffic for trading clients.Bug fixes
- Crypto settlement event parsing is more resilient to edge-case payloads, reducing the chance of dropped deposit or withdrawal events.
- Asset identifiers in crypto settlement events are now canonicalized so deposit and withdrawal events consistently match the asset IDs returned by the API.
- Duplicate exchange fill notifications are now suppressed end-to-end through stronger idempotency, so each fill is delivered exactly once.