Gyvar docs

Pay a beneficiary in local currency

Prices and sends in ONE call. There is deliberately no quote endpoint: a quote locks a rate for five minutes, which is a courtesy to a person and a free option to a machine - poll quotes, execute the ones the market moved in your favour, let the rest lapse at no cost. Use `min_settlement_amount_minor` to bound what you accept instead. It is checked BEFORE anything is debited, so a refusal costs you nothing. `amount_minor` is what leaves your WALLET, in the asset's minor units. What the beneficiary receives depends on a rate that does not exist until we ask for it, which is why you state the side you are spending.

POST
/payouts

Authorization

KeyID Timestamp Nonce Signature
X-Gyvar-Key<token>

Your key id, gyv_k_live_... or gyv_k_sandbox_....

In: header

X-Gyvar-Timestamp<token>

Unix seconds. Must be within 5 minutes of our clock.

In: header

X-Gyvar-Nonce<token>

A unique value per request. Replays are rejected.

In: header

X-Gyvar-Signature<token>

Ed25519 signature over the canonical string. See the Signing guide.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

beneficiary_id?string

A destination you already saved. Mutually exclusive with destination.

Formatuuid
destination?

Account details for a payee you have never paid. Use this when the payee is your own customer and cannot be pre-registered by hand.

It is SAVED as part of the send, not paid anonymously, so it gets every check a saved destination gets - including the provider name enquiry, which confirms who is about to be paid. Sending it alongside beneficiary_id is refused, not resolved.

asset*string
amount_minor*integer

Wallet debit, in the asset's minor units.

min_settlement_amount_minor?integer

Optional floor on what the beneficiary receives, in the corridor currency's minor units. Omit for no floor.

reason?string

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/payouts" \  -H "Content-Type: application/json" \  -d '{    "asset": "USDC",    "amount_minor": 10500000  }'
{  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "reference": "string",    "status": "successful",    "currency": "string",    "decimals": 0,    "amount": "string",    "amount_minor": "string",    "fee": "string",    "fee_minor": "string",    "net": "string",    "net_minor": "string",    "created_at": "2019-08-24T14:15:22Z"  }}