Error Codes
Reference for error codes returned by the Sardis API, with causes and resolution steps for each error type.
Error Response Format
All API errors include a request_id field that can be provided to support for debugging.
{
"error": {
"type": "policy_violation",
"message": "Daily limit of $500 exceeded",
"details": { ... },
"request_id": "req_abc123"
}
}PolicyViolationError
HTTP 403 Forbidden
The transaction was blocked by the wallet spending policy.
Common Causes
- Amount exceeds per-transaction, daily, or monthly limit
- Merchant or category is on the block list
- Transaction attempted outside allowed time window
Resolution
- Check the wallet policy with
GET /api/v2/wallets/{id} - Lower the transaction amount or update the policy
- Add the merchant to the allowlist if appropriate
ComplianceDenied
HTTP 403 Forbidden
The transaction was blocked by compliance screening (KYA, sanctions, or AML).
Common Causes
- Recipient address flagged by sanctions screening (Elliptic)
- Agent trust score below minimum threshold
- KYA verification incomplete or expired
Resolution
- Check the agent trust score with
GET /api/v2/wallets/{id}/trust-score - Complete KYA verification if pending
- Contact support if you believe this is a false positive
InsufficientFunds
HTTP 402 Payment Required
The wallet does not have enough balance to cover the transaction.
Common Causes
- Wallet balance is lower than the requested amount
- Balance is locked by an existing hold
- Gas fees are not covered
Resolution
- Check balance with
GET /api/v2/wallets/{id}/balances - Fund the wallet with the required token
- Release any unnecessary holds
NoRoute
HTTP 422 Unprocessable Entity
No valid route found to execute the transaction on the specified chain.
Common Causes
- The token is not supported on the specified chain
- The chain is not configured or temporarily unavailable
- RPC endpoint is unreachable
Resolution
- Check supported chains and tokens in the documentation
- Verify the chain parameter is correct (e.g.,
"base"not"Base") - Try a different chain that supports your token
AllAdaptersExhausted
HTTP 502 Bad Gateway
All chain adapters failed to execute the transaction.
Common Causes
- All RPC providers are down or rate-limited
- Network congestion causing timeouts
- Smart contract execution reverted on all attempts
Resolution
- Retry after a short delay (the system retries automatically up to 3 times)
- Check network status at status.sardis.sh
- If persistent, contact support with the
request_idfrom the error response