Create payment

Creates a fiat pre-fund/settlement or a crypto payout. The request body must match one of the four documented shapes; submitting both total and quantity on a payout is rejected.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Payload describing either a fiat transaction or a crypto payout.

string
required
length ≥ 6

Participant the fiat transaction belongs to.

uuid
required

External fiat account previously linked via POST /payments/external_accounts.

string
required
length between 3 and 3

Fiat currency of the transaction (ISO 4217 3-letter code).

string
required

Transaction amount in currency units.

string
enum
required

Direction of funds. debit pulls funds from the external account (pre-fund); credit sends funds to the external account.

Allowed:
network
array of strings

Ordered preference list of fiat rails. When omitted, the service selects the best eligible rail.

network
Allowed:
string

Bank statement descriptor. Will appear on statements as ZH <description> (effective max 15 chars including the ZH prefix).

string
length ≥ 1

Account label for routing the payment to a specific labeled account. Defaults to general.

ach_agreement_acceptance
object

Optional ACH authorization acceptance evidence for debit transactions.

Headers
string
required

HMAC-SHA256 signature of the request, base64-encoded. See the Authentication guide for the exact signing formula.

string
required

Current Unix timestamp in seconds. Must be within 60 seconds of server time or the request is rejected.

string

Optional value to simulate specific success/failure scenarios in the certification environment. Has no effect in production.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json