Skip to main content

Crypto Transfer → Blockchain address

Use your Yugo crypto balance to send an exact crypto amount to a Recipient's blockchain address.

Payment method: crypto_transfer | Amount currency: crypto currency symbol (e.g. USDC)

Prerequisites

Before using this flow, you must be onboarded as a Merchant with Yugo and have a merchant account opened.

This payout is available only if you hold a Yugo crypto balance — Yugo debits that balance to send the exact crypto amount to the Recipient.

During onboarding, Yugo configures:

  • Supported crypto assets
  • Supported blockchain networks
  • A custodial Web3 wallet managed by Yugo that funds the payout
  • An account with access to the Yugo Business Portal, where you retrieve your API Key and Webhook secret

Some of these settings are configured during onboarding and are not passed dynamically in each API request — check the API Reference for the exact request fields.

1. Create the Payout Intent

API Reference: POST /payouts View Create Payout API

Minimal Payout Intent Request
{
"amount": {
"value": "100.00",
"currency": "USDC"
},
"recipient": {
"email": "recipient@example.com",
"first_name": "John",
"last_name": "Doe",
"country": "DE"
},
"reference": "withdrawal_123",
"return_url": "https://merchant.com/withdrawal/123",
"webhook_url": "https://merchant.com/api/webhooks/payouts",
"payment": {
"method": "crypto_transfer",
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"network": "polygon"
}
}

Key fields:

  • amount.currency — a crypto currency symbol (e.g. USDC); amount.value is the exact amount the Recipient receives
  • payment.method = crypto_transfer
  • payment.address — the Recipient's blockchain wallet address
  • payment.network — the blockchain network the address is on (e.g. polygon)
  • return_url — required by the API; reserved for the future hosted flow (see note below)

2. Yugo processes the Payout

Yugo debits your crypto balance and sends the exact amount on-chain to the Recipient's address. No exchange is involved when both your balance and the payout are in crypto.

See Crypto Transfer for supported assets, networks, and processing details.

3. Track Payout status

Option A: Webhooks

Yugo sends a webhook every time the Payout status changes.

When you receive a webhook, we recommend verifying the updated status via the API (Option B).

API Reference: View Webhook Reference

Option B: Polling

You can retrieve the current Payout status at any time.

API Reference: GET /payouts/{id} View Get Payout API

Status Lifecycle

See the Payout Status Lifecycle for the full state diagram and status definitions per payout flow.

StatusMeaning
CREATEDPayout Intent created by Merchant
INITIATEDPayout accepted and queued for processing
PROCESSINGYugo is sending the crypto on-chain to the Recipient's address
COMPLETEDCrypto delivered to the Recipient's wallet. Transaction finalized.
FAILEDPayout failed or was rejected
EXPIREDPayout expired before completion
Server-to-server only

At the moment, only the server-to-server flow is supported: the Merchant supplies all payout details when creating the Payout Intent.

The Create Payout request has a required return_url, and the response may include a redirect_url. These are not yet implemented and should be ignored for now. They are reserved for a future hosted flow, where the Merchant will be able to delegate collecting some Recipient details (such as the destination bank account or wallet) to Yugo.

Deep dive