Overview

Tsara's stablecoin APIs support two integration styles: managed fiat-to-stablecoin payment rails and direct wallet operations. Choose the managed rail when the business outcome is a conversion or payout; choose direct wallet operations only when your application explicitly needs wallet and address control.

Base URL: /v1/stablecoin
Authentication: Authorization: Bearer <secret_key>

Managed payment rails

FlowCustomer providesCustomer receives
OnrampNGN through returned payment instructionsStablecoin at a destination wallet
OfframpStablecoin through returned deposit instructionsNGN in a verified bank account

Managed flows return a reference, payment instructions, quote information, expiry, and status. Store the business reference and Tsara reference together, then follow the resource until it is successful or failed.

Preferred routes:

  • POST /v1/stablecoin/onramp
  • GET /v1/stablecoin/onramp
  • GET /v1/stablecoin/onramp/status
  • GET /v1/stablecoin/onramp/rate
  • POST /v1/stablecoin/offramp
  • GET /v1/stablecoin/offramp
  • GET /v1/stablecoin/offramp/status
  • GET /v1/stablecoin/offramp/rate
  • POST /v1/stablecoin/offramp/quote

Compatibility aliases remain under /v1/stablecoin/wallets/onramp and /v1/stablecoin/wallets/offramp, but new integrations should use the preferred routes.

Direct wallet operations

Direct operations let you create Tsara-managed wallets and addresses, read balances, and send supported assets. These are secondary infrastructure routes and should not be substituted for onramp or offramp when a fiat conversion is required.

Operational guidance

  • network and asset values must match a supported combination
  • payment and deposit instructions expire; use the returned expiry
  • treat pending and processing as non-final
  • use status endpoints and signed webhooks for reconciliation
  • never infer a successful conversion from an on-chain submission alone