Wallet to Wallet (Internal Transfer)
Move money from one wallet to another on your platform. A transfer
payment — no external rail or provider.
Address the destination one of two ways (send exactly one):
destination_wallet_id— a wallet UUID you already know. The server resolves the owning user from the wallet.destination_payee_id— a payee addressed by email. Funds route to the matching user’s wallet, or to a held inbound-only wallet (a ghost recipient is provisioned) until that person is added — seerecipient_statusin the response (existingvspending_claim).
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Body
Move funds to another wallet on your platform (intent_type=transfer).
Address the destination one of two ways — send exactly one:
destination_wallet_id— a wallet UUID you already know.destination_payee_id— a payee (addressed by email). Funds route to the matching user's wallet, or to a held inbound-only wallet (a ghost recipient is provisioned) until that person is added — seerecipient_statusin the response.
Source wallet UUID — the tenant's master wallet or one of the user's wallets. Server validates tenant ownership and currency and resolves the owner from it.
"a1b2c3d4-e5f6-7890-abcd-ef1234567890"
Amount in major currency units (e.g. dollars).
100.5
Unique key to ensure idempotent payment creation.
1 - 120"pay_req_20260604_abc123"
Optional safety cross-check — when sent, must match the owner of wallet_id.
"b3a9b622-cc63-4d3c-aad6-2d8e29e6f9d4"
ISO 4217 currency code.
3"USD"
Arbitrary key-value metadata to attach to the payment.
{ "order_id": "ORD-12345" }Destination wallet UUID to credit. Server validates tenant ownership and currency and resolves the owner from it. Mutually exclusive with destination_payee_id — send one.
"c3d4e5f6-a7b8-9012-3456-7890abcdef01"
UUID of the payee to send to. The payee must have an email; funds route to the matching user's wallet, or a held inbound-only wallet until that person is added. Mutually exclusive with destination_wallet_id — send one.
"c8d9e0f1-a2b3-4567-89ab-cdef01234567"
Payee transfers only. Records a preference to notify the recipient that funds arrived. Outbound notification delivery is not yet active.
false
Response
Successful Response
Standard response wrapper for single-object responses and errors.
Generic over the payload type. A route that declares
CommonResponse[SomeModel] gets the real data schema rendered in
OpenAPI/Swagger; a bare CommonResponse leaves data untyped.

