Wallet
Asynchronous signing and sign-outcome webhooks
Sign transaction now follows the same asynchronous flow as transfers:- Async by default: sponsored signs (where the platform relays and pays
gas) answer
202 Acceptedwith thePENDINGtransaction while the relay executes on-chain. Poll Get transaction by id untilstatusisCOMPLETEDorFAILED. See Transfer lifecycle. - Outcome webhook: pass
webhookUrl(and your ownwebhookSecret) in the body and the final transaction is POSTed to you aswallet.sign.completed/wallet.sign.failed, HMAC-signed and retried with backoff. See Outcome webhook. waitForCompletion: truepreserves the previous synchronous behavior:200with the relay result (txHash,gasUsed,feeWei).- Local-only signing (a non-EVM chain with
addressIndex; nothing is broadcast) is unaffected and still answers200with the signed transaction.
200 from
sponsored signs must either handle the new 202 + poll (or webhook) flow, or
add waitForCompletion: true to the request body.Wallet
Asynchronous transfers and outcome webhooks
Initiate transfer no longer holds the request open while the transfer executes on-chain:- Async by default: the endpoint now answers
202 Acceptedwith thePENDINGtransaction in ~half a second. Poll Get transaction by id untilstatusisCOMPLETEDorFAILED. See Transfer lifecycle. - Outcome webhook: pass
webhookUrl(and your ownwebhookSecret) in the body and the final transaction is POSTed to you, HMAC-signed (x-wallet-signature/x-wallet-timestamp) with the secret you supplied, and retried with backoff. See Outcome webhook. waitForCompletion: truepreserves the previous synchronous behavior (201completed /422failed with the settled result).
201/422
must either handle the new 202 + poll (or webhook) flow, or add
waitForCompletion: true to the request body.Payments
cNGN deposits, FX rate lock, and prorated upgrades
Create deposit account gained several capabilities:- cNGN settlement rail: stablecoin accounts now expose
pegCurrency(USDorNGN); naira-pegged deposits includeamountExpectedNgn, the naira value to display to the payer. - FX rate lock: every account returns
fxRate(USD per 1 NGN), locked untilexpiryAt. Settlement converts at the quoted rate, never the live one. - Prorated upgrades: requesting a different plan of the same product while an active paid subscription exists credits the unused time against the new price. The old subscription is cancelled and its product access replaced on settlement.
billingCycleis now required forSUBSCRIPTIONrequests.subscriptionIdwas removed from the request body; renewals and upgrades are resolved server-side fromplanId. Requests still sending it are accepted; the field is ignored.
Tokenization
