Payouts
Pay multiple recipients USDC in a single on-chain transaction. Two modes:
batch— every recipient can have a different amount (e.g. contributor payroll).split— a total divided equally between recipients. The API does not do this division for you — compute the equal share yourself and send the sameamount_usdcfor every recipient, withkind: "split".
Every recipient address is screened against the OFAC sanctions list server-side before anything is recorded. If any recipient is sanctioned, the whole payout is refused — nothing is created, nothing is partially executed.
List your payouts​
GET /api/v1/payouts
Scope: read. Priced as a read call.
Create a payout​
POST /api/v1/payouts
Scope: write. Priced as payout_create ($0.01 once your monthly quota is used up).
| Field | Type | Required | Notes |
|---|---|---|---|
recipients | array | yes | 1–500 items — { address, amount_usdc, label? } |
kind | "batch" | "split" | no | Defaults to "batch" |
label | string | no | Max 120 chars |
curl -X POST https://veltro.online/api/v1/payouts \
-H "Authorization: Bearer vltro_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"label": "March contributor split",
"kind": "split",
"recipients": [
{ "address": "0xRecipient1...", "amount_usdc": 100 },
{ "address": "0xRecipient2...", "amount_usdc": 100 },
{ "address": "0xRecipient3...", "amount_usdc": 100 }
]
}'
The response is calldata to sign, not a completed payout — Veltro never signs on your behalf:
{
"data": {
"id": "...",
"totalUsdc": 300,
"feeUsdc": 0.9,
"approve_tx": {
"to": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"spender": "0x...",
"amount": "300900000",
"chainId": 8453
},
"execute_tx": {
"to": "0x...",
"data": "0x...",
"value": "0",
"chainId": 8453
}
}
}
Sign approve_tx first (USDC → the batch payout contract, for totalUsdc + feeUsdc), then execute_tx (pays every recipient in one call). The flat fee is 0.3% on the payout total, shown up front — see pricing.
You can also review and sign a payout from Dashboard → Payouts, or ask the Veltro agent to create one in natural language — all three surfaces share the exact same OFAC screening and payout logic.