Skip to main content
WEBHOOK

Authorizations

X-API-Key
string
header
required

Partner API key. Sandbox keys start with is_test_; production keys start with is_live_. Keys are not interchangeable across environments. Send on every request. Never expose in browser or mobile clients.

Headers

X-Webhook-Event
enum<string>
required
Available options:
order.processing,
order.settled,
order.failed,
order.refunded,
customer.submitted,
customer.approved,
customer.rejected,
customer.revoked,
customer.updated,
customer.deposit_account.updated,
account.opened,
account.ready,
account.credited,
account.send.completed,
account.send.failed
X-Webhook-Id
string<uuid>
required
X-Webhook-Signature
string
required

t=<unix_ts>,v1=<base64_hmac>

Body

application/json

Payload shape depends on X-Webhook-Event. Account event bodies: TODO - see docs/KNOWN_GAPS.md.

order_id
string
required
Example:

"YC-580e04c2-a136-5cca-be54-b49fcf80970c"

status
string
required
Example:

"settled"

amount_fiat
number
Example:

800

currency
string
Example:

"KES"

amount_crypto
number
Example:

5.12

exchange_rate
number
Example:

156.25

order_type
string
Example:

"OnRamp"

wallet_address
string
Example:

"0x4F07419E6bfCCF8D256E8ef803Cc2653dfbB9558"

phone_number
string
Example:

"2541111111111"

settlement_transaction_hash
string
Example:

"0xabc..."

created_at
string<date-time>
updated_at
string<date-time>

Response

2XX

Acknowledge receipt. Return any 2xx quickly; process asynchronously if needed.