Limits and quotas
Updated 3 October 20263 min read
On this page
Limits keep the platform safe and predictable. Some depend on your plan, such as how many ledgers you can create or how much you can pay out in a day. Others are fixed for everyone. This page lists them all in one place.
Request-per-minute limits are different: they are covered in Rate limits.
Resource quotas by plan
| Resource | Starter | Growth | Scale |
|---|---|---|---|
| Ledgers | 3 | 25 | 250 |
| Accounts per ledger | 10,000 | 250,000 | 5,000,000 |
| Counterparties | 1,000 | 50,000 | 1,000,000 |
| Webhook endpoints | 5 | 25 | 100 |
| API keys (live and test, each) | 5 | 25 | 100 |
| Team members | 3 | 15 | Unlimited |
When you reach a quota, creating another resource fails with HTTP 422 and limit_exceeded. Delete unused resources or upgrade your plan. Scale quotas can be raised on request.
Payout limits by plan
| Limit | Starter | Growth | Scale |
|---|---|---|---|
| ACH, per payout | $25,000 | $250,000 | $1,000,000 |
| Same-day ACH, per payout | $25,000 | $250,000 | $1,000,000 |
| Domestic wire, per payout | $100,000 | $1,000,000 | $5,000,000 |
| Instant rails, per payout | $25,000 | $100,000 | $500,000 |
| Total payouts per day | $100,000 | $2,000,000 | $20,000,000 |
The daily total counts all rails together over the UTC day and resets at 00:00 UTC. Instant networks can enforce lower limits than your plan, and the lower one applies. Same-day ACH is also capped at $1,000,000 by the network.
A payout over a limit is rejected with limit_exceeded, and the error's param names the limit. Limits for non-USD accounts are applied using the USD equivalent. See Multi-currency ledgers.
Separately from limits, the first payout above $25,000 to a counterparty younger than 7 days is held for review. See Counterparties and screening.
Fixed limits for every plan
Transactions
| Limit | Value |
|---|---|
| Entries per transaction | 2 to 100 |
| Transactions per batch request | 500 |
Backdating with effective_at |
Up to 90 days |
| Metadata | 50 keys; keys up to 40 characters; values up to 500 characters |
Requests
| Limit | Value |
|---|---|
| Request body size | 1 MB |
limit on list endpoints |
Default 25, maximum 100 |
| Date range on list filters | 366 days |
| Server request timeout | 60 seconds |
Idempotency and webhooks
| Limit | Value |
|---|---|
| Idempotency key length | 255 characters |
| Idempotency key retention | 24 hours |
| Webhook payload size | 256 KB |
| Webhook response timeout | 10 seconds |
| Webhook event retention | 30 days |
Reports
| Limit | Value |
|---|---|
| Statement or export range | 12 months |
| Export requests | 10 per minute per key |
Checking where you stand
GET /v1/organization/usage returns your current counts against each quota. The dashboard shows the same under Settings > Usage.
{
"plan": "growth",
"ledgers": { "used": 4, "limit": 25 },
"webhook_endpoints": { "used": 6, "limit": 25 },
"api_keys": { "live": { "used": 7, "limit": 25 }, "test": { "used": 3, "limit": 25 } },
"daily_payout_volume": { "used": 18450000, "limit": 200000000, "currency": "USD" }
}
Amounts are in minor units, so 18450000 is $184,500.00 of today's payout volume.
Raising a limit
Growth customers can ask for higher payout limits for a specific counterparty or period in a ticket. Scale customers can request higher quotas and rate limits as part of their agreement. Limits protect you as well, so expect questions about the business reason before a large increase.
Tip
Plan for the daily payout total on days when you batch payments, for example payroll. A single large run can use the whole allowance, and a failed attempt does not wait until midnight to retry.
Related
- Prices and plan features: Plans and pricing.
- Speed and cut-offs: Payment rails.