RWA support currently covers US market sessions only: regular US stock hours, extended US stock hours, and US futures hours. Support for Hong Kong (HK), China (CN), and Korea (KR) market sessions is planned to be added gradually.
Source types
When configuring a permissionlessly listed market, Builders can select from multiple Index Price source types:| Source type | Description |
|---|---|
| CEX | Centralized exchange price feeds supported by Orderly. |
| Platform oracle | Orderly-supported oracle sources such as Pyth and Stork. |
| Builder Oracle | A custom oracle feed pushed by a Builder to Orderly. |
| Bring Your Own Key (BYOK) Oracle | A Builder-owned oracle connection using the Builder’s own provider credentials, such as Pyth or Stork credentials. |
100.
Core listing flow
Create or update a custom oracle feed
Use A new feed is active and private by default. Keep the feed private while testing. Change
POST /v1/broker/listing/oracle/feed to register the feed that your listing will use.For a Builder Oracle feed, omit oracle. For a BYOK feed, set oracle to the provider, such as pyth or stork.visibility to public only if you want other Builders to be able to select it.Push custom oracle prices
Builder Oracle feeds publish Index Price updates to the dedicated oracle WebSocket endpoint.The feed uses
data.base_ccy to match the registered feed. Builders should publish at least once per second while the market session is open.See Full example for a complete client pattern with signing, application-level ping/pong handling, and price publishing.Check listing context
Call The response provides listing parameters and indicates whether the symbol is an RWA symbol. If
POST /v1/broker/listing/symbol_context with the base symbol you want to list.is_rwa is true, the listing must include a valid market_session in the final submit request.Fetch available price sources
Call This returns active public feeds, plus the Builder’s own private feeds. Other Builders cannot see or select your private feeds.
GET /v1/broker/listing/index_sources to retrieve the available source list. The response can include CEX, platform oracle, Builder Oracle, and BYOK Oracle sources.To fetch runtime price and health details for Builder Oracle and BYOK sources, call:Select an RWA market session if needed
If Current RWA listing sessions are US-only, including
symbol_context identifies the symbol as RWA, call:US_STOCK, US_STOCK_EXT, and US_FUTURES. The response includes the session name, timezone, trading hours, and holiday and early-close calendar.Submit the listing
Submit the market with selected sources and weights through For non-RWA symbols, omit
POST /v1/broker/listing/submit.market_session. For RWA symbols, market_session is required and must match a supported market session.Visibility and responsibility
Custom oracle feeds can be either private or public:- Private feeds are visible only to the Builder that owns the feed.
- Public feeds can be selected by other Builders.
RWA constraints
RWA markets are controlled by Orderly’s supported RWA list. Builders cannot turn an arbitrary symbol into an RWA market by passingmarket_session directly.
- If the symbol is RWA,
market_sessionis required. - If the symbol is not RWA,
market_sessionshould be omitted. - RWA trading sessions are configured at the listed market level, not at the source level.
Full example
The following example separates the reusable WebSocket client from your provider logic. The SDK file signs the connection, keeps the WebSocket alive, handles reconnects, and publishesindexpricefeed messages. The provider file only decides which price to publish.
ORDERLY_KEY is your Orderly public key and may include the ed25519: prefix. ORDERLY_SECRET should be the base58-encoded raw Ed25519 private key without the ed25519: prefix.
This sample reconnects after connection or runtime errors. If authentication fails repeatedly, verify the account ID, key, secret, timestamp, and WebSocket endpoint.