API Reference

Create payout

POST /transfer/payout

Create a payout from the tenant's vault wallet to an external address. Provide either `amount` (crypto) or `usd_amount` (converted to crypto at the current rate). Payouts are idempotent by `(vault_id, reference_id)` — resubmitting a `reference_id` returns `409` instead of paying twice.

Request body

Create payout request.

  • vault_idstringrequired

    The vault the funds leave from.

  • assetstringrequired

    Asset symbol to send.

  • network_symbolstringrequired

    Network slug.

  • to_addressstringrequired

    External destination address.

  • reference_idstringrequired

    Your idempotency key — unique per vault.

  • amountstring

    Crypto amount; provide either `amount` or `usd_amount`.

  • usd_amountstring

    USD amount; converted to crypto at the current rate.

  • remarkstring

    Free-form note stored on the payout.

  • expired_atstringformat: date-time

    Cutoff after which a non-confirmed payout expires.

Responses

The payout was created.

    • idstring
    • vault_idstring
    • assetstring
    • network_symbolstring
    • amountstring

      Crypto amount sent.

    • usd_amountstring

      USD value at submit time.

    • ratestring

      Conversion rate applied when `usd_amount` was used.

    • to_addressstring
    • reference_idstring
    • remarkstring
    • statusstringenum: queued · processing · confirmed · failed · expired
    • tx_idstring

      On-chain transaction hash; empty until broadcast.

    • errorstring

      Failure reason when `status` is `failed`; empty otherwise.

    • created_atstringformat: date-time
    • confirmed_atstringformat: date-time
    • expired_atstringformat: date-time
Request
curl "https://api.stridge.dev/v1/transfer/payout" \
  -X POST \
  -H "X-API-Key: $STRIDGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "vault_id": "550e8400-e29b-41d4-a716-446655440001",
  "asset": "USDT",
  "network_symbol": "ethereum",
  "to_address": "0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B",
  "reference_id": "order-12345",
  "amount": "100.50",
  "remark": "Payment for order #12345",
  "expired_at": "2026-12-31T23:59:59Z"
}'

Set your key as STRIDGE_API_KEY (sent as X-API-Key).

Response201
"id": "550e8400-e29b-41d4-a716-446655440000",
"vault_id": "550e8400-e29b-41d4-a716-446655440001",
"asset": "USDT",
"network_symbol": "ethereum",
"amount": "100.50",
"usd_amount": "100.50",
"rate": "1.0001",
"to_address": "0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B",
"reference_id": "order-12345",
"remark": "Payment for order #12345",
"status": "confirmed",
"tx_id": "0xabc123def456789",
"error": "",
"created_at": "2026-01-01T00:00:00Z",
"confirmed_at": "2026-01-01T00:05:00Z",
"expired_at": "2026-12-31T23:59:59Z"
}
}