Skip to main content
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 Accepted with the PENDING transaction while the relay executes on-chain. Poll Get transaction by id until status is COMPLETED or FAILED. See Transfer lifecycle.
  • Outcome webhook: pass webhookUrl (and your own webhookSecret) in the body and the final transaction is POSTed to you as wallet.sign.completed / wallet.sign.failed, HMAC-signed and retried with backoff. See Outcome webhook.
  • waitForCompletion: true preserves the previous synchronous behavior: 200 with the relay result (txHash, gasUsed, feeWei).
  • Local-only signing (a non-EVM chain with addressIndex; nothing is broadcast) is unaffected and still answers 200 with the signed transaction.
Breaking change: clients that relied on the synchronous 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 Accepted with the PENDING transaction in ~half a second. Poll Get transaction by id until status is COMPLETED or FAILED. See Transfer lifecycle.
  • Outcome webhook: pass webhookUrl (and your own webhookSecret) 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: true preserves the previous synchronous behavior (201 completed / 422 failed with the settled result).
Breaking change: clients that relied on the default synchronous 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 (USD or NGN); naira-pegged deposits include amountExpectedNgn, the naira value to display to the payer.
  • FX rate lock: every account returns fxRate (USD per 1 NGN), locked until expiryAt. 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.
Breaking changes:
  • billingCycle is now required for SUBSCRIPTION requests.
  • subscriptionId was removed from the request body; renewals and upgrades are resolved server-side from planId. Requests still sending it are accepted; the field is ignored.
New guide: Fund and subscribe.
Tokenization

Tokenization endpoints added

Added the Tokenization service: issue tokenized real-world assets, run mint, burn, and transfer operations, register holder wallets, and, for yield-bearing instruments, distribute coupons, claim yield, and redeem principal at maturity. See the Tokenization overview.
v1.0.0

Initial release

First public release of the Convexity Infra API reference, covering Auth-Edge, Payments, Products, Subscriptions, Wallet, and Blockchain Events.