Docs menu

Batches

POST /v1/batches orders for up to 100 receivers at once. For each receiver the platform activates the address if needed, tops up bandwidth if it is short, then delivers the resource, splitting large amounts into chunks.

How a batch behaves

PropertyBehaviour
Response202 Accepted: queued, nothing charged, nothing delivered yet
ResultGET /v1/batches/{id}, or the per-order webhooks (order.confirmed carries batch_id)
BillingPer receiver, at the price in force when that receiver runs; cap it with max_price_sun per item
IsolationOne receiver failing never affects the others; a failed activation or bandwidth step does not stop that receiver’s resource order
OrdersEach receiver gets its own order id — what you inspect, reclaim and reconcile against
Idempotencyclient_batch_id: same id + same body returns the original batch; same id + different body is 3010 idempotency_conflict
CancelPOST /v1/batches/{id}/cancel stops the not-yet-started part; receivers already picked up return 3002 order_not_cancellable
Rate limitOrder creation (POST /v1/orders, POST /v1/batches) shares 30 rps

Request

defaults apply to every item; an item overrides any field.

{
  "client_batch_id": "acme-payout-2026-09-11-01",
  "defaults": { "resource": "energy", "tier": "1h", "amount": 65000, "activate": true, "bandwidth": true, "bandwidth_amount": 400 },
  "items": [
    { "receiver": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE" },
    { "receiver": "TXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "amount": 131000 },
    { "receiver": "TYYyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy", "bandwidth": false }
  ]
}

Endpoints

MethodPathPurpose
POST/v1/batchesCreate a batch
GET/v1/batchesList batches
GET/v1/batches/{batchId}Progress and per-receiver orders
POST/v1/batches/{batchId}/cancelCancel the not-yet-started part

Field-level schemas: Batches — API reference.

    ↑ ↓ to move · Enter to open · Esc to close