Rate Limits
Alpha Ladder's request-rate posture, backoff guidance, and the rule against auto-retrying destructive operations.
Alpha Ladder does not publish specific numeric rate limits (requests per minute, concurrent connections, etc.) in this documentation. This page describes the expected behaviour, how to write well-behaved clients, and what to do if you need higher throughput.
General posture
Alpha Ladder's MCP server is designed for conversational and agentic workloads — a user asking questions or an automated pipeline running sequential compliance checks. The server applies rate controls appropriate to this usage model.
What this means in practice:
- Make requests at a pace consistent with the task at hand. Do not fire tool calls in tight loops or fan out many parallel calls simultaneously.
- If you receive an error response that indicates throttling or resource exhaustion, back off before retrying.
- For read-only tools (e.g.
get_account_summary,get_deposit_list), a simple exponential backoff is appropriate: wait 1 second after the first failure, double on each subsequent failure, and cap at a reasonable ceiling (e.g. 30 seconds).
Destructive operations: never auto-retry
Certain tools execute irreversible financial actions. These must never be auto-retried on failure:
| Tool | Action |
|---|---|
confirm_otc_trade | Locks an OTC trade at the quoted rate |
execute_fiat_withdrawal | Submits a fiat withdrawal |
If any of these return an error, surface the error to the user and wait for explicit re-confirmation before submitting a new request. Silently retrying a withdrawal or trade confirmation is a safety violation.
For OTC-specific errors (410 Gone — quote expired, 409 Conflict — rate drift), the correct action is to call get_otc_quote again and present the updated quote to the user. See Status & Errors for the full error reference.
Handling backoff in code
When a read-only tool call fails with a transient error, apply exponential backoff:
async function callWithBackoff(toolFn, maxAttempts = 4) {
for (let attempt = 0; attempt < maxAttempts; attempt++) {
try {
return await toolFn();
} catch (err) {
if (attempt === maxAttempts - 1) throw err;
const delayMs = Math.min(1000 * 2 ** attempt, 30_000);
await new Promise(r => setTimeout(r, delayMs));
}
}
}Do not apply this pattern to destructive operations.
Requesting higher throughput
Specific quotas are not published here. If your integration requires a throughput level beyond what the server permits, contact the Alpha Ladder team to discuss your use case. See Support for contact details.
Cross-references
- Status & Errors — full error shapes including OTC HTTP 410 / 409.
- Support — contact and escalation options.
Status & Errors
Complete reference for Alpha Ladder MCP tool responses — the success wrapper, re-authentication errors, OTC quote errors (HTTP 410/409), validation errors, and how each one surfaces to an AI client.
Changelog
A dated record of significant changes, new tools, and notable updates to the Alpha Ladder MCP API and developer documentation.