Skip to main content
POST
/
partners
/
wallets
/
payouts
curl --request POST \
  --url https://api.hyperrail.io/api/v1/partners/wallets/payouts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "reference": "wallet-payout-001",
  "chain": "ethereum",
  "asset": "usdc",
  "amount": 100,
  "toAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0beB0"
}
'
{
  "reference": "wallet-payout-001",
  "withdrawalId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "walletId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "chain": "ethereum",
  "token": "usdc",
  "amount": 100,
  "estimatedFee": 2.5,
  "toAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0beB0",
  "status": "PENDING",
  "transactionHash": null
}

Authorizations

Authorization
string
header
required

API key authentication using Bearer token

Body

application/json
reference
string
required

Unique idempotency reference for this withdrawal. Used to prevent duplicate withdrawals.

Required string length: 1 - 100
Example:

"wallet-payout-001"

chain
enum<string>
required

Blockchain network for the withdrawal

Available options:
ethereum,
polygon,
base,
arbitrum,
optimism
Example:

"ethereum"

asset
enum<string>
required

Token/asset to withdraw

Available options:
usdc,
usdt
Example:

"usdc"

amount
number
required

Amount to withdraw (in token units, not subunits). Minimum: 10

Required range: x >= 10
Example:

100

toAddress
string
required

Destination blockchain address (must be valid EVM address)

Pattern: ^0x[a-fA-F0-9]{40}$
Example:

"0x742d35Cc6634C0532925a3b844Bc9e7595f0beB0"

memo
string

Optional memo/note for the withdrawal

Maximum string length: 255
Example:

"Payment to supplier"

Response

Withdrawal initiated successfully

reference
string

Unique reference provided in the request

Example:

"wallet-payout-001"

withdrawalId
string<uuid>

System-generated withdrawal identifier

Example:

"3fa85f64-5717-4562-b3fc-2c963f66afa6"

walletId
string<uuid>

Partner wallet identifier

Example:

"3fa85f64-5717-4562-b3fc-2c963f66afa6"

chain
enum<string>

Blockchain network

Available options:
ethereum,
polygon,
base,
arbitrum,
optimism
Example:

"ethereum"

token
enum<string>

Token being withdrawn

Available options:
usdc,
usdt
Example:

"usdc"

amount
number

Withdrawal amount

Example:

100

estimatedFee
number

Estimated gas fee in token units

Example:

2.5

toAddress
string

Destination address

Example:

"0x742d35Cc6634C0532925a3b844Bc9e7595f0beB0"

status
enum<string>

Withdrawal status

Available options:
PENDING,
PROCESSING,
COMPLETED,
FAILED,
CANCELLED
Example:

"PENDING"

transactionHash
string | null

Blockchain transaction hash (null until broadcast)

Example:

"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"

createdAt
string<date-time>

Withdrawal creation timestamp

Example:

"2026-04-24T10:30:00Z"

estimatedCompletionAt
string<date-time>

Estimated completion time

Example:

"2026-04-24T10:35:00Z"