Skip to main content
POST

Authorizations

Authorization
string
header
required

Secret API key from Settings → Developers → API keys. Example: Authorization: Bearer sk_test_…

Headers

Idempotency-Key
string
required

Client-generated key so retries return the same intent.

Required string length: 1 - 64

Body

application/json
target_currency
string
required

Book currency to credit.

Example:

"NGN"

mode
enum<string>
required

How funds will arrive.

Available options:
bank_details,
crypto_address,
momo,
interac
Example:

"bank_details"

amount
integer
required

Amount the payer sends in source_currency minor units.

Example:

5000000

source_currency
string

Currency of the receive rail. Defaults to target_currency. For Interac defaults to CAD; momo may infer KES/TZS from channel.

target_amount
integer

Required when source_currency differs from target_currency — expected credit in target minor units.

network
string

Crypto network (base, ethereum, …). Defaults to base for crypto.

narration
string

Optional payment reference / memo.

redirect_url
string<uri>

Required for Interac — where the payer returns after approval.

country_code
string

ISO country hint for some rails.

msisdn
string

Mobile number for momo (E.164 or local as required by channel).

channel
string

Momo channel id (e.g. KE-MPESA).

payer_name
string

Optional payer display name.

payer_email
string<email>

Optional payer email.

Response

Deposit intent with instructions

object
enum<string>

Object type discriminator.

Available options:
payin
id
string<uuid>

Payin attempt id.

stan
string

System trace / reference.

method
string

Funding method.

target_currency
string

Book currency to credit.

rail_currency
string

Currency on the payment rail when different.

amount
integer

Requested amount in target (or primary) minor units.

rail_amount
integer

Amount on the rail in rail minor units.

target_amount
integer

Expected credit to the target book in minor units.

scale
integer

Decimal places for target_currency.

status
string

Lifecycle status (pending, processing, completed, failed, …).

checkout_url
string<uri>

Hosted checkout URL when the method requires a redirect.

redirect_url
string<uri>

Return URL you supplied.

source_kind
string

Origin kind from prepare.

collection_mode
string

Prepare mode (bank_details, crypto_address, …).

network
string

Crypto network when applicable.

instructions
object

Receive instructions for the payer (account number, bank name, wallet address, etc.). Shape depends on collection_mode.

failure_reason
string

Failure message when status is failed.

created_at
string<date-time>

Creation time (UTC).

updated_at
string<date-time>

Last status change (UTC).

completed_at
string<date-time>

When the deposit completed, if successful.

livemode
boolean

true when created with a live key.

environment
enum<string>

Environment of the creating API key.

Available options:
live,
sandbox