Create payout
Agent initiates an on-chain USDC transfer (payout) from a user's FluxA Wallet. Supports optional mandateId for auto-approval and bizId for business-level deduplication. Returns 201 when newly created, or 200 on an idempotent hit with identical params.
Authorizations
Agent registration JWT. Send as Authorization: Bearer <agent-jwt>.
Request Body
Idempotency key, unique per user. Repeat requests with the same payoutId return the existing result.
Destination address; EVM format (0x + 40 hex chars).
Amount as a positive integer string in atomic units (USDC: 1000000 = 1.0 USDC).
Pre-signed mandate ID. If provided and the budget is sufficient, the payout is auto-approved, skipping manual user approval.
nullExternal business ID, unique per user. Prevents duplicate payouts — only one active payout per bizId.
nullBlockchain network.
"base""base-sepolia""base"Currency symbol.
"USDC"Token contract address. Defaults to the network default USDC.
Free-text description.
nullCustom JSON metadata.
nullCallback URL.
nullExpiry in seconds (60–604800; default 7 days).
60480060604800Responses
Idempotent hit: an existing payout with the same payoutId and identical params was returned.
Payout ID.
Current status. authorized when a mandate auto-approves; pending_authorization on the standard path.
"pending_authorization""authorized""signing""signed""broadcasting""succeeded""confirmed""failed"On-chain tx hash (available after broadcast).
User approval URL. Only returned in pending_authorization; null on auto-approve.
Expiry (Unix timestamp).
Associated mandate ID.
External business ID.
{
"payoutId": "<string>",
"status": "<string>",
"txHash": "<string>",
"approvalUrl": "<string>",
"expiresAt": "<integer>",
"mandateId": "<string>",
"bizId": "<string>"
}