Skip to Content
EnDocs
Markets API
RWA Market Data

RWA Market Data

OpenAPI endpoints for on-chain RWA (e.g. tokenized US equities) market data. See Authentication for request signing.

Stock detail

Request Path: /bgw-pro/market/v3/rwa/stockInfo

Request Method: POST

Returns stock detail. Use either ticker or chain+contract.

Supports data sources ondo / xstocks / reality. Reality contracts return data_source=reality with market open/close status.

Request Parameters:

{ "ticker": "TSLA", "chain": "", "contract": "", "has_offline": false }
FieldTypeRequiredDescription
tickerstringOne of twoStock symbol; normalized server-side
chainstringOne of twoChain name (e.g. eth/sol/morph); send with contract
contractstringOne of twoContract address
has_offlineboolNoInclude offline data; default false

Response Example:

{ "status": 0, "data": { "ticker": "TSLA", "name": "Tesla, Inc.", "icon": "https://.../tsla.png", "latest_price": "228.52", "price_24h_change": "1.23", "price_24h_change_ratio": "0.0054", "chain_assets": [ { "chain": "sol", "chain_icon": "https://.../sol.png", "chain_name": "Solana", "icon": "https://.../token.png", "symbol": "TSLAx", "name": "Tesla xStock", "contract": "XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB", "decimals": 8, "latest_price": "228.52", "price_24h_change": "1.23", "price_24h_change_ratio": "0.0054", "tx_maximum_buy_usd": "0", "tx_minimum_buy_usd": "0", "tx_maximum_sell_usd": "0", "tx_minimum_sell_usd": "0", "data_source": "xstocks", "market_status": "open", "market_status_title": "Open", "market_status_code": "" } ] }, "traceId": "xxxx" }

Check contract

Request Path: /bgw-pro/market/v3/rwa/checkContractIsRwa

Request Method: POST

Checks whether chain+contract is an RWA token and returns ticker and data source (includes offline mappings). data_source may be ondo / xstocks / reality.

Request Parameters:

{ "chain": "sol", "contract": "XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB" }
FieldTypeRequiredDescription
chainstringYesChain name (Reality example: morph)
contractstringYesContract address

Response Example:

{ "status": 0, "data": { "is_existed": true, "stock_ticker": "TSLA", "data_source": "xstocks" }, "traceId": "xxxx" }

For Reality matches, data_source is "reality". When not matched, is_existed is false and stock_ticker / data_source are empty strings.


Full list

Request Path: /bgw-pro/market/v3/rwa/stockList

Request Method: POST

Returns all RWA tickers and contract mappings (including offline items via status). No request body fields. A single ticker may include contracts from multiple data sources (ondo / xstocks / reality).

Request Parameters:

{}

Response Example:

{ "status": 0, "data": { "list": [ { "ticker": "TSLA", "name": "Tesla, Inc.", "icon": "https://.../tsla.png", "status": "online", "contracts": [ { "chain": "sol", "contract": "XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB", "symbol": "TSLAx", "data_source": "xstocks", "status": "online" }, { "chain": "morph", "contract": "0xabc...", "symbol": "TSLAr", "data_source": "reality", "status": "online" } ] } ] }, "traceId": "xxxx" }

Transaction list

Request Path: /bgw-pro/market/v3/rwa/transactionList

Request Method: POST

Minimal on-chain transaction list with pagination. Query by chain+contract; for Reality use the real chain (e.g. morph). Off-chain data is not supported.

Request Parameters:

{ "chain": "sol", "contract": "XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB", "side": "", "page": 1, "size": 20 }
FieldTypeRequiredDescription
chainstringYesChain name (use morph for Reality)
contractstringYesContract address
sidestringNobuy/sell; empty = all
pageintNoPage number; default 1
sizeintNoPage size; default 20; capped at 100

Response Example:

{ "status": 0, "data": { "list": [ { "side": "buy", "tx_from": "0x123...", "tx_hash": "0xabc...", "amount": 1.5, "price": 228.52, "value": 342.78, "ts": 1718600000 } ], "page": 1, "size": 20 }, "traceId": "xxxx" }

K-line

Request Path: /bgw-pro/market/v3/rwa/kline

Request Method: POST

Minimal K-line, paginated backward from end_time. Routes by data source:

ConditionData path
chain=rwaOff-chain (contract is ticker)
Data source ondo / realityRWA service K-line for that source
Other (incl. xStocks)On-chain K-line

Request Parameters:

{ "chain": "sol", "contract": "XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB", "period": "5m", "size": 200, "end_time": 0 }
FieldTypeRequiredDescription
chainstringYesChain name (e.g. eth/sol/morph); use rwa for off-chain
contractstringYesContract address; ticker when chain=rwa
periodstringNoK-line period; default 5m
sizeintNoBar count; default derived from period
end_timeint64NoEnd timestamp (seconds); omit for latest

Response Example:

{ "status": 0, "data": { "list": [ { "ts": 1718600000, "open": 228.0, "high": 229.5, "low": 227.8, "close": 228.52, "volume": 12345.6, "amount": 54.0, "txn": 12 } ] }, "traceId": "xxxx" }

volume, amount, and txn may be present for on-chain and Reality K-lines; ondo usually omits them.

Reality example:

{ "chain": "morph", "contract": "0xabc...", "period": "5m", "size": 200 }
Last updated on