Skip to main content
POST
Fund a card
A card can be funded while active or frozen. Any other status is refused with 409 card_not_usable. amountUsd is in USD minor units — "2500" is $25.00 — whatever currency your account is in. When the account is not USD, quote first and pass fxQuoteId.
externalReference is the idempotency key across all card operations, not just funding. Reusing one returns the existing operation of whatever type it was.

Error codes

Authorizations

Authorization
string
header
required

A secret API key, sent as Authorization: Bearer sk_test_… in sandbox or Bearer sk_live_… in live.

Path Parameters

cardId
string
required

Card ULID. A 26-character ULID.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

Body

application/json
externalReference
string
required
Required string length: 1 - 120
accountId
string
required

The account funding the card, or receiving the withdrawal. One of your own, never a customer wallet.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

amountUsd
string
required

A positive integer number of minor units.

Pattern: ^[1-9]\d*$
Example:

"2500000"

fxQuoteId
string

Required when the account is not USD.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

Response

Successful response.

id
string
required

A 26-character ULID.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

cardId
string
required

A 26-character ULID.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

type
enum<string>
required
Available options:
issuance,
funding,
withdrawal,
termination
status
enum<string>
required
Available options:
created,
submitting,
pending,
completed,
failed
sourceCurrency
enum<string>
required
Available options:
NGN,
USD,
GBP,
EUR,
GHS,
ZAR,
UGX,
CAD,
MXN,
AED,
BTC,
ETH,
USDT,
USDC
destinationCurrency
enum<string>
required
Available options:
NGN,
USD,
GBP,
EUR,
GHS,
ZAR,
UGX,
CAD,
MXN,
AED,
BTC,
ETH,
USDT,
USDC
sourceAmount
string
required

An integer number of the asset’s smallest unit. Use this value for arithmetic.

Pattern: ^-?\d+$
Example:

"2500000"

destinationAmount
string
required

An integer number of the asset’s smallest unit. Use this value for arithmetic.

Pattern: ^-?\d+$
Example:

"2500000"

failureCode
string | null
required
failureReason
string | null
required
completedAt
string<date-time> | null
required
Example:

"2026-08-14T09:00:00.000Z"

createdAt
string<date-time>
required
Example:

"2026-08-14T09:00:00.000Z"

updatedAt
string<date-time>
required
Example:

"2026-08-14T09:00:00.000Z"