Send Payment
Agent API
Send Payment
Unified payment endpoint — auto-routes to x402, USDC transfer, or fiat ACH based on the recipient.
POST
Send Payment
The unified pay endpoint is the recommended way to send any payment through Unwall. It automatically detects the recipient type and routes to the appropriate rail:
- URL (e.g.,
https://api.example.com/...) — routes to the x402 protocol - EVM address (e.g.,
0x742d...) — routes to on-chain USDC transfer - Bank details object — routes to fiat ACH off-ramp
Requires a bearer token with the
pay permission. If the recipient is a URL, the token must also have the x402 permission.Request Body
The payment recipient. Accepts one of three formats:
- URL (string): An HTTPS URL for x402 protocol payments (e.g.,
"https://api.example.com/v1/data") - EVM address (string): A
0x-prefixed Ethereum address for USDC transfers (e.g.,"0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28") - Bank details (object): An object with
name,account_number,routing_number, andemailfor fiat ACH payments
Payment amount in USD. Required for USDC transfer and fiat rails. Not used for x402 (the target API sets the price).
Maximum micro-USDC to pay for x402 requests (safety cap). 1 USDC = 1,000,000 micro-USDC. Only used when recipient is a URL.
Payment description for record-keeping. Max 500 characters.
Unique key to prevent duplicate payments. Alphanumeric plus
_, -, :, .. Max 255 characters.HTTP method for x402 requests. One of
GET, POST, PUT, DELETE. Only used when recipient is a URL.Additional HTTP headers for x402 requests. Only used when recipient is a URL.
Request body for x402
POST or PUT requests. Only used when recipient is a URL.Response
Unique transaction identifier.
Transaction status:
pending, processing, completed, or failed.Payment rail used:
x402, usdc_transfer, or fiat.Amount charged in rail-native units. Micro-USDC for
x402 and usdc_transfer rails, cents for fiat rail.Platform fee charged in rail-native units.
Currency of the amount:
usdc or usd.Recipient identifier (URL, EVM address, or recipient name).
On-chain transaction hash for USDC and x402 payments.
null for fiat payments.ISO 8601 timestamp of when the payment was created.
Estimated delivery time for fiat payments (e.g., “2-3 business days”).
null for crypto rails.For x402 payments only — contains the proxied API response.
null for other rails.Examples
x402 Payment (URL recipient)
Response (200 OK)
USDC Transfer (EVM address recipient)
Response (201 Created)
Fiat ACH Payment (Bank details recipient)
Response (201 Created)