Skip to main content

Sending a Single Payout

Step-by-step guide to sending a single payout via the portal and the API.

Written by Ryan O
Updated today

Overview

This guide walks through sending a single payout from start to finish. We will cover checking your balance, creating a payee (if needed), adding a payment instrument, and submitting the payout.

Prerequisites

  • An Anton Payments account with API keys

  • Funded balances in the source currency (sandbox has test balances pre-loaded)

Step 1: Check Your Balance

Before sending a payout, verify you have sufficient funds in the currency you plan to send.

Via the API:

curl https://api.antonpayments.dev/v1/balances/USD \
  -H "Authorization: Bearer ak_test_..."

The response includes three fields:

  • available -- What you can use for new payouts

  • held -- Funds reserved for payouts in progress

  • total -- The sum of available and held

Ensure available covers the payout amount plus any applicable fees.

Via the portal: Navigate to Balances in the sidebar to see your current balances by currency.

Step 2: Create a Payee

If you are paying someone for the first time, you need to create a payee record. If the payee already exists, skip to step 3.

Via the API:

curl https://api.antonpayments.dev/v1/payees \
  -X POST \
  -H "Authorization: Bearer ak_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "type": "individual",
    "first_name": "Maria",
    "last_name": "Garcia",
    "email": "[email protected]",
    "country": "US"
  }'

Via the portal: Navigate to Payees, click Add Payee, fill in the recipient details, and save.

Save the payee id from the response.

Step 3: Add a Payment Instrument

Attach a bank account or other payment method to the payee.

Via the API:

curl https://api.antonpayments.dev/v1/payees/pye_abc123/instruments \
  -X POST \
  -H "Authorization: Bearer ak_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "type": "bank_account",
    "currency": "USD",
    "details": {
      "account_number": "9876543210",
      "routing_number": "021000021"
    }
  }'

Via the portal: Open the payee record and click Add Instrument, then provide the bank account or wallet details.

Step 4: Send the Payout

Via the API:

curl https://api.antonpayments.dev/v1/payouts \
  -X POST \
  -H "Authorization: Bearer ak_test_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: invoice-1042-maria" \
  -d '{
    "payee_id": "pye_abc123",
    "instrument_id": "ins_def456",
    "amount": "2500.00",
    "currency": "USD",
    "description": "Consulting fee - January 2026",
    "reference": "INV-1042"
  }'

Via the portal: Navigate to Payouts, click New Payout, select the payee and instrument, enter the amount, currency, description, and reference, then submit.

Required Fields

Field

Description

payee_id

The ID of the registered payee

instrument_id

The ID of the payment instrument on the payee

amount

The payout amount as a string (e.g., "2500.00")

currency

ISO 4217 currency code (e.g., USD, GBP, EUR)

Optional Fields

Field

Description

description

A human-readable description of the payment purpose

reference

Your internal reference ID (e.g., invoice number). Appears in webhook payloads.

purpose_code

Required for certain corridors. Contact support for corridor-specific requirements.

Important Notes

  • Always include an Idempotency-Key header -- This protects against duplicate payouts if your request is retried due to network issues. Use a deterministic value like your internal invoice or transaction ID.

  • Amounts must be strings -- Use exact decimal representation like "1000.00", not numeric values. This prevents rounding errors.

  • Verify payee details before submitting -- In production, payouts are irreversible once they reach sent status.

Did this answer your question?