Skip to main content
POST
/
v1
/
accounts
/
{account_id}
/
wallets
/
whitelist
curl
curl -X POST "https://api.services.payward.com/v1/accounts/W4BE9868GY65TB6523/wallets/whitelist" \
  -H "API-Key: $PWS_API_KEY" \
  -H "API-Nonce: $PWS_API_NONCE" \
  -H "API-Sign: $PWS_API_SIGN" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -H "Content-Type: application/json" \
  -d '{
    "via": "solana",
    "address": "9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin",
    "external_user_id": "tcs_cust_12345"
  }'
{
  "data": {
    "account": "W4BE9868GY65TB6523",
    "id": "wl_client_sol",
    "via": "solana",
    "address": "9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin",
    "status": "pending",
    "external_user_id": "tcs_cust_12345",
    "created_at": "2026-04-24T14:00:00Z"
  }
}

Authorizations

api-key
string
header
required
api-sign
string
header
required
api-nonce
string
header
required
api-otp
string
header
required

Headers

Idempotency-Key
string<uuid>

Client-generated UUIDv4 for safe retries. Sent as the Idempotency-Key HTTP header. Replayed responses include the Idempotent-Replayed: true header.

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
Example:

"550e8400-e29b-41d4-a716-446655440000"

Path Parameters

account_id
string
required

ID of the account the request applies to. This refers to one of the accounts held by the user the request is acting on behalf of (typically the user's main account, but any of the user's accounts is accepted). Routes the request to that specific account container. Canonical identifier for an account in the Payward public API.

Required string length: 14 - 42

Body

application/json

Request to whitelist an external wallet for use as a conversion destination.

via
string
required

Unified rail or network identifier. Fiat rails: sepa, fps, fedwire, ach, swift. Crypto networks: bitcoin, ethereum, solana, tron, polygon, arbitrum. Discover supported values per asset via GET /v1/swap/assets (supported_rails[]).

Required string length: 1 - 32
address
string
required

On-chain wallet address.

Required string length: 1 - 256
memo
string

Memo / destination tag. Required for memo chains (XRP, XLM, EOS, Cosmos).

Maximum string length: 64
external_user_id
string

Partner-supplied end-customer identifier.

Maximum string length: 128

Response

Successful response

data
object

An external wallet whitelisted as a conversion destination.

Screening is asynchronous: the wallet enters pending, then transitions to approved (usable as a destination) or rejected.