HTTP Status Codes
| Status | Meaning | When It Occurs |
|---|---|---|
200 | Request processed | Simulation or validation completed. Check result.status for simulation success/failure. |
400 | Bad request | Invalid parameters, missing required fields, or malformed request body. |
401 | Unauthorized | Missing or invalid API key. |
404 | Not found | Simulation ID not found or expired (validate endpoint only). |
429 | Rate limited | Too many requests. Back off and retry. |
500 | Internal error | Server-side failure. Retry after a short delay. |
Simulation Errors
A200 response from /simulate does not always mean the transaction would succeed on-chain. Check result.status:
Common Simulation Failures
| Error Type | Description | How to Fix |
|---|---|---|
CallFailed | The transaction call failed during simulation | Check that the sender has sufficient balance and the calldata is correct |
CallReverted | The contract reverted the transaction | Inspect the revert reason — often an insufficient allowance or failed require check |
DecodeError | Could not decode the transaction result | Verify the data field contains valid calldata for the target contract |
ProviderError | RPC provider error during simulation | Retry — this is usually transient |
Validation Errors
Simulation Not Found (404)
If the simulation has expired (after 5 minutes) or the ID is invalid:simulationId.
Partial Check Failures
Whenvalid is false, inspect the checks object to find which fields failed:
Rate Limiting
Shield enforces rate limits per API key. When you receive a429 response, back off before retrying:
Updated
