Skip to main content
POST
Use intent: receive for authenticated add-money or receive checkout, and intent: send for an outgoing payment. The account comes from the client bearer token, so the body cannot supply sender, recipient, accountId or externalUserId. The issuing app must have Payments enabled and the issuing credential must permit v2:payments. Idempotency-Key is required.

Authorizations

Authorization
string
header
required

Short-lived account-bound token returned by POST /v2/client/auth/exchange.

Headers

Idempotency-Key
string
required

Use this for retry-safe payment operations from your backend.

Example:

"payment-request-001"

Body

application/json

Creates a canonical receive or send Payment for the bearer token's existing account. The client token supplies recipient for receive and sender for send; account locators are rejected.

intent
string
required
Allowed value: "receive"
paymentAmount
Decimal amount · object
required

Recommended for business integrations. For example, 10.00 USDC.

amountMode
string
default:collect_exact
Allowed value: "collect_exact"
settlement
object
description
string
Required string length: 1 - 500
externalReference
string
Required string length: 1 - 256
expiresInSeconds
integer
default:600
Required range: 60 <= x <= 86400
metadata
object

Response

Canonical Payment

payment
object
required
nextAction
Action required · object
required

The exact action the caller must complete. Null means Stableyard needs no action from the partner right now.

checkout
object