Overview
Payee destinations define where payments are received. Each destination encodes a wallet address, chain, and token into a single ERC-7828 interop address, creating a unique receiving route. Destinations are used by:- Secure payments — to resolve the payee, chain, and token from a
destinationId - Client IDs — to bind a receiving route to a client ID for orchestrator flows
ERC-7828 Address Format
A destination ID combines the interop address with the token address:- Wallet:
0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7 - Chain: Base (chainId
8453) - Checksum:
ABCD1234(auto-generated by the API for address verification) - Token: USDC (
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)
The checksum portion (
#ABCD1234) is generated automatically by the API when you create a destination. You do not need to compute it yourself.How It Works
Authenticate with wallet
Destinations require a SIWE wallet session. See Wallet Authentication for the challenge/verify flow.
Create a destination
Call
POST /v1/payee-destination with the token address and chain ID. The API generates the full destination ID with interop address. EVM and Tron destinations use the same endpoint and shape — only the address format and chain ID differ.- EVM (USDC on Base)
- Tron (USDT-TRC20)
Endpoints
All endpoints require a SIWE wallet session (httpOnly cookie).POST /v1/payee-destination
Create a new payee destination or reactivate an existing one.ERC20 token contract address (EVM
0x... or Tron T... format).Chain ID for the receiving network (e.g.,
8453 for Base, 1 for Ethereum).Optional KYT (Know Your Transaction) compliance policy applied to payments into this destination. When set, every payer wallet that connects to a payment link backed by this destination is screened before the payment can proceed. See Compliance-gated payments for the full guide.
Response (201)
PUT /v1/payee-destination
Update the token address and/or chain on the active destination.New ERC20 token contract address.
New chain ID.
GET /v1/payee-destination
Returns the active payee destination for the authenticated wallet, ornull if none exists.
GET /v1/payee-destination/payout-lookup
Retrieve the active destination preference for a payout recipient wallet. Returns only the routing fields needed to prefill payout creation, ornull if the recipient has no active destination.
Like the other endpoints on this page, this requires a SIWE wallet session (httpOnly cookie). Unlike the other endpoints, the walletAddress query parameter is the recipient you are looking up — not the authenticated caller — so a payout initiator can resolve where a recipient wants to be paid.
Recipient wallet address to check for an active destination (Ethereum or Tron format).
Response (200)
GET /v1/payee-destination/lookup
Lookup a destination by its composite ID.The full destination ID in ERC-7828 format.
PATCH /v1/payee-destination/deactivate
Deactivate the current destination.The destination ID to deactivate.
Response (200)
Related Pages
Client ID Management
Bind destinations to client IDs for orchestrator flows.
Secure Payments API
Use destination IDs when creating secure payments.