Outlines common API error codes and their meaning.
Ondo’s Global Market APIs return a structured set of error messages to ensure that developers and integrators receive clear, actionable feedback when a request cannot be fulfilled. These error codes are designed to cover both market-level and asset-level conditions, user-specific constraints, and input validation issues. Each error response includes a standardized error object that contains three key fields:
code: A short, machine-readable identifier (e.g., MARKET_CLOSED)message: A human-readable description of the issue (e.g., "Weekend or Holiday")documenation: A URL linking to the appropriate documentation reference on this page for that error.
This consistent format allows for robust client-side error handling, debugging, and end-user messaging. The HTTP status code for each error is included in the response headers, while the error is always provided as the response body. Below is a list of errors you may encounter.
MARKET_CLOSED
MARKET_CLOSED{
"code": "MARKET_CLOSED",
"message": "Weekend or Holiday"
}Status: 403 Forbidden
The market is currently closed. This includes weekends, holidays, or scheduled/unscheduled closures due to system maintenance or exchange outages.
Learn more: Market Status →
MARKET_PAUSED
MARKET_PAUSED{
"code": "MARKET_PAUSED",
"message": "Market paused for unscheduled outage"
}Status: 403 Forbidden
Trading is temporarily paused. This could be a scheduled session transition (like 09:29–09:31 ET) or an unscheduled halt (ie a circuit breaker trigger).
Learn more: Market Status →
ASSET_PAUSED
ASSET_PAUSED{
"code": "ASSET_PAUSED",
"message": "Trading for this asset is temporarily paused"
}Status: 403 Forbidden
Trading for this specific asset is paused. May be due to a corporate action, symbol migration, or real-time market volatility.
Learn more: Asset Paused →
ASSET_CLOSED_FOR_SESSION
ASSET_CLOSED_FOR_SESSION{
"code": "ASSET_CLOSED_FOR_SESSION",
"message": "asset is not available for trading during the current session"
}Status: 403 Forbidden
Trading for this specific asset is not available in the current session. "Session" is defined as one of "premarket", "regular", "postmarket", or "overnight".
You can view the tradable sessions for each asset using the Get Market Data For Asset API →
Learn more about sessions at: Asset Paused →
INVALID_SYMBOL
INVALID_SYMBOL{
"code": "INVALID_SYMBOL",
"message": "invalid symbol; must be at least 3 characters long and end with 'on'"
}Status: 400 Bad Request
The symbol provided is invalid, unrecognized, or improperly formatted. Ensure you’re using valid, name-spaced asset symbols (e.g., TSLAon, AAPLon).
MAX_LIMIT_REACHED
MAX_LIMIT_REACHED{
"code": "MAX_LIMIT_REACHED",
"message": "exceeded the active notional value limit"
}Status: 400 Bad Request
Your order exceeds the user-based notional cap. User limits reset when attestations expire and/or every 24 hours.
SESSION_LIMIT_REACHED
SESSION_LIMIT_REACHED{
"code": "SESSION_LIMIT_REACHD",
"message": "exceeded the session's notional value limit"
}*Status: 400 Bad Request
Your order exceeds the session-based notional cap. Limits reset after each session transition. Please refer to the Market Status Page for more information on session timings.
MAX_ATTESTATIONS
MAX_ATTESTATIONS{
"code": "MAX_ATTESTATIONS",
"message": "exceeded the active attestations limit"
}Status: 400 Bad Request
You’ve submitted the maximum number of concurrent attestation requests. You must wait for some to settle before requesting more.
INSUFFICIENT_LIQUIDITY
INSUFFICIENT_LIQUIDITY{
"code": "INSUFFICIENT_LIQUIDITY",
"message": "exceeded the active attestations limit"
}Status: 400 Bad Request
An attestation cannot be created due to insufficient funds. This may occur during overnight trading when trading volume is sparse.
INVALID_NOTIONAL_VALUE
INVALID_NOTIONAL_VALUE{
"code": "INVALID_NOTIONAL_VALUE",
"message": "invalid notional value"
}Status: 400 Bad Request
The amount specified is either below the minimum notional requirement or above your limit. Also returned for non-numeric or malformed input.
Other Errors
This list of error messages is not exhaustive. If the message field does not provide enough detail to resolve your issue, please consult the request’s documentation. For further assistance, you can contact your designated account manager.
