Binance Tokenized Securities Info Skill
Overview
API Function Use Case
Token Symbol List List all tokenized stocks Browse Ondo supported tickers, filter by type
RWA Meta Tokenized stock metadata Company info, concepts, attestation reports
Market Status Overall market open/close Check if Ondo market is currently trading
Asset Market Status Per-asset trading status Detect corporate actions (earnings, dividends, splits, mergers)
RWA Dynamic V2 Full real-time data On-chain price, holders, US stock fundamentals, order limits
Token K-Line Candlestick charts OHLC data for on-chain token price technical analysis
Recommended Workflows
Scenario Steps
Look up a stock's fundamentals and on-chain data API 1 (get chainId
- contractAddress by ticker) → API 5 (dynamic data)
Check if a stock token is tradable API 3 (overall market status) → API 4 (per-asset status with reason code)
Research a tokenized stock API 1 (find token) → API 2 (company metadata + attestation reports)
Get K-Line chart data API 1 (find token) → API 6 (K-Line with interval)
Use Cases
-
List Supported Stocks: Get all Ondo tokenized tickers with chain and contract info
-
Company Research: Get company metadata, CEO, industry, concept tags, and attestation reports
-
Market Status Check: Determine if the Ondo market is open, closed, or in pre/post-market session
-
Corporate Action Detection: Check if a specific asset is paused or limited due to earnings, dividends, stock splits, mergers, or maintenance
-
Real-Time Data: Get on-chain price, holder count, circulating supply, US stock P/E, dividend yield, 52-week range, and order limits
-
Technical Analysis: Fetch token K-Line (candlestick) data with configurable intervals and time ranges
Key Concept: Token ≠ Share
Each token represents multiplier shares of the underlying stock, not exactly 1 share. Most tokens have a multiplier near 1.0 (cumulative dividend adjustment), but stock-split tokens can be 5.0 or 10.0 (e.g. multiplier = 10.0 means 1 token = 10 shares).
referencePrice = tokenInfo.price ÷ sharesMultiplier
See Notes §6 for common multiplier categories.
Supported Chains
Chain chainId
Ethereum 1
BSC 56
API 1: Token Symbol List
Method: GET
URL:
Request Parameters:
Parameter Type Required Description
type integer No Filter by platform: 1 = Ondo Finance (currently the only supported tokenized stock provider). Omit to return all platforms. Use type=1 to retrieve only Ondo tokens.
Headers: Accept-Encoding: identity
Example:
curl 'https://www.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/market/token/rwa/stock/detail/list/ai'
-H 'Accept-Encoding: identity'
-H 'User-Agent: binance-web3/1.1 (Skill)'
Response:
{ "code": "000000", "data": [ { "chainId": "1", "contractAddress": "<CONTRACT_ADDRESS>", "symbol": "<TOKEN_SYMBOL_ON>", "ticker": "<UNDERLYING_TICKER>", "type": 1, "multiplier": "1.021663864228987186" }, { "chainId": "56", "contractAddress": "<CONTRACT_ADDRESS>", "symbol": "<TOKEN_SYMBOL_ON>", "ticker": "<UNDERLYING_TICKER>", "type": 1, "multiplier": "1.010063782256545489" } ], "success": true }
Response Fields (each item in data ):
Field Type Description
chainId string Chain ID (1 = Ethereum, 56 = BSC)
contractAddress string Token contract address
symbol string Token symbol (ticker + on suffix, e.g. <TOKEN_SYMBOL_ON> )
ticker string Underlying US stock ticker
type integer Platform type: 1 = Ondo
multiplier string Shares multiplier (see Key Concept above, Notes §6)
API 2: RWA Meta
Method: GET
URL:
https://www.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/market/token/rwa/meta/ai
Request Parameters:
Parameter Type Required Description
chainId string Yes Chain ID (e.g. 56 for BSC, 1 for Ethereum)
contractAddress string Yes Token contract address
Headers: Accept-Encoding: identity
Example:
curl 'https://www.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/market/token/rwa/meta/ai?chainId=56&contractAddress=<CONTRACT_ADDRESS>'
-H 'Accept-Encoding: identity'
-H 'User-Agent: binance-web3/1.1 (Skill)'
Response:
{ "code": "000000", "data": { "tokenId": "<TOKEN_ID>", "name": "<TOKEN_DISPLAY_NAME>", "symbol": "<TOKEN_SYMBOL_ON>", "ticker": "<UNDERLYING_TICKER>", "icon": "/images/web3-data/public/token/logos/<TOKEN_ID>.png", "dailyAttestationReports": "/images/web3-data/public/token/ondo/pdf/daily-<DATE>.pdf", "monthlyAttestationReports": "/images/web3-data/public/token/ondo/pdf/monthly-<MONTH>.pdf", "companyInfo": { "companyName": "<COMPANY_NAME_EN>", "companyNameZh": "<公司名称>", "homepageUrl": "", "description": "<COMPANY_DESCRIPTION_EN>", "descriptionZh": "<COMPANY_DESCRIPTION_CN>", "ceo": "<CEO_NAME>", "industry": "<INDUSTRY>", "industryKey": "<INDUSTRY_KEY>", "conceptsCn": ["概念标签A", "概念标签B", "概念标签C"], "conceptsEn": ["Concept Tag A", "Concept Tag B", "Concept Tag C"] }, "decimals": 18 }, "success": true }
Response Fields (data ):
Field Type Description
tokenId string Token unique ID
name string Full token name (e.g. <TOKEN_DISPLAY_NAME> )
symbol string Token symbol (e.g. <TOKEN_SYMBOL_ON> )
ticker string Underlying stock ticker (e.g. <UNDERLYING_TICKER> )
icon string Icon image relative path. To get the full URL, prepend https://bin.bnbstatic.com (e.g. https://bin.bnbstatic.com/images/web3-data/public/token/logos/<TOKEN_ID>.png )
dailyAttestationReports string Daily attestation report relative path. Prepend https://bin.bnbstatic.com to get the full URL
monthlyAttestationReports string Monthly attestation report relative path. Prepend https://bin.bnbstatic.com to get the full URL
companyInfo object Company details (see below)
decimals integer Token decimals (typically 18 )
Company Info Fields (data.companyInfo ):
Field Type Description
companyName string Company name in English
companyNameZh string Company name in Chinese
homepageUrl string Company homepage URL
description string Company description (English)
descriptionZh string Company description (Chinese)
ceo string CEO name
industry string Industry classification
industryKey string Industry i18n key
conceptsCn string[] Concept/theme tags in Chinese
conceptsEn string[] Concept/theme tags in English (e.g. Concept Tag A , Concept Tag B )
API 3: Market Status
Method: GET
URL:
Request Parameters: None
Headers: Accept-Encoding: identity
Example:
curl 'https://www.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/market/token/rwa/market/status/ai'
-H 'Accept-Encoding: identity'
-H 'User-Agent: binance-web3/1.1 (Skill)'
Response:
{ "code": "000000", "data": { "openState": false, "reasonCode": "MARKET_PAUSED", "reasonMsg": "Paused for session transition", "nextOpen": "2026-03-23T08:01:00Z", "nextClose": "2026-03-23T13:29:00Z", "nextOpenTime": 1774252860000, "nextCloseTime": 1774272540000 }, "success": true }
Note: The sample above is captured with openState=false (market closed/paused), so nextOpen is earlier than nextClose .
Response Fields (data ):
Field Type Description
openState boolean Whether the Ondo market is currently open for trading
reasonCode string|null Reason code if market is not in normal trading state (see Reason Codes)
reasonMsg string|null Human-readable reason message
nextOpen string Next market open time from current state (ISO 8601 UTC)
nextClose string Next market close time from current state (ISO 8601 UTC)
nextOpenTime number Next market open time from current state (Unix timestamp in ms)
nextCloseTime number Next market close time from current state (Unix timestamp in ms)
Interpretation: These fields are state-dependent. When openState=true , nextClose is expected to be earlier than nextOpen (market closes before the next open). When openState=false , nextOpen is expected to be earlier than nextClose (market opens before the next close).
API 4: Asset Market Status
Method: GET
URL:
Request Parameters:
Parameter Type Required Description
chainId string Yes Chain ID
contractAddress string Yes Token contract address
Headers: Accept-Encoding: identity
Example:
curl 'https://www.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/market/token/rwa/asset/market/status/ai?chainId=56&contractAddress=<CONTRACT_ADDRESS>'
-H 'Accept-Encoding: identity'
-H 'User-Agent: binance-web3/1.1 (Skill)'
Response:
{ "code": "000000", "data": { "openState": false, "marketStatus": "closed", "reasonCode": "MARKET_CLOSED", "reasonMsg": null, "nextOpenTime": 1774252860000, "nextCloseTime": 1774272540000 }, "success": true }
Response Fields (data ):
Field Type Description
openState boolean Whether this specific asset is available for trading
marketStatus string Current session: premarket , regular , postmarket , overnight , closed , pause
reasonCode string Status reason code (see Reason Codes below)
reasonMsg string|null Human-readable reason message (populated when paused/limited)
nextOpenTime number Next open time (Unix timestamp in ms)
nextCloseTime number Next close time (Unix timestamp in ms)
Reason Codes
reasonCode Description
TRADING
Normal trading
MARKET_CLOSED
Market is closed (outside trading hours)
MARKET_PAUSED
Market-wide trading halt
ASSET_PAUSED
This specific asset is paused (see Corporate Actions below)
ASSET_LIMITED
This specific asset has trading restrictions (see Corporate Actions below)
UNSUPPORTED
Asset is not supported
MARKET_MAINTENANCE
System maintenance
Corporate Actions (when ASSET_PAUSED or ASSET_LIMITED )
When an asset is paused or limited, the reasonMsg field indicates the specific corporate action:
reasonCode reasonMsg Description
ASSET_PAUSED
cash_dividend
Cash dividend distribution
ASSET_PAUSED
stock_dividend
Stock dividend distribution
ASSET_PAUSED
stock_split
Stock split
ASSET_PAUSED
merger
Company merger
ASSET_PAUSED
acquisition
Company acquisition
ASSET_PAUSED
spinoff
Corporate spinoff
ASSET_PAUSED
maintenance
Asset-level maintenance
ASSET_PAUSED
corporate action
Other corporate action
ASSET_LIMITED
earnings
Earnings release — trading restricted but not fully paused
API 5: RWA Dynamic V2
Method: GET
URL:
https://www.binance.com/bapi/defi/v2/public/wallet-direct/buw/wallet/market/token/rwa/dynamic/ai
Request Parameters:
Parameter Type Required Description
chainId string Yes Chain ID
contractAddress string Yes Token contract address
Headers: Accept-Encoding: identity
Example:
curl 'https://www.binance.com/bapi/defi/v2/public/wallet-direct/buw/wallet/market/token/rwa/dynamic/ai?chainId=56&contractAddress=<CONTRACT_ADDRESS>'
-H 'Accept-Encoding: identity'
-H 'User-Agent: binance-web3/1.1 (Skill)'
Response:
{ "code": "000000", "data": { "symbol": "<TOKEN_SYMBOL_ON>", "ticker": "<UNDERLYING_TICKER>", "tokenInfo": { "price": "310.384196924055952519", "priceChange24h": "1.09518626611014170", "priceChangePct24h": "0.354098021064624509", "totalHolders": "1023", "sharesMultiplier": "1.001084338309087472", "volume24h": "8202859508.959922580629343392", "marketCap": "7116321.021286604958613714702150000306622972", "fdv": "7116321.021286604958613714702150000306622972", "circulatingSupply": "22927.459232171569002788", "maxSupply": "22927.459232171569002788" }, "stockInfo": { "price": null, "priceHigh52w": "328.83", "priceLow52w": "140.53", "volume": "26429618", "averageVolume": "36255295", "sharesOutstanding": "5818000000", "marketCap": "1805815257704.157531755542", "turnoverRate": "0.4543", "amplitude": null, "priceToEarnings": "29.93", "dividendYield": "0.27", "priceToBook": null, "lastCashAmount": null }, "statusInfo": { "openState": null, "marketStatus": null, "reasonCode": null, "reasonMsg": null, "nextOpenTime": null, "nextCloseTime": null }, "limitInfo": { "maxAttestationCount": "1500", "maxActiveNotionalValue": "450000" } }, "success": true }
Response Fields
Top-level (data ):
Field Type Description
symbol string Token symbol (e.g. <TOKEN_SYMBOL_ON> )
ticker string Underlying stock ticker (e.g. <UNDERLYING_TICKER> )
tokenInfo object On-chain token data
stockInfo object US stock fundamentals
statusInfo object Market/asset trading status (same schema as API 4)
limitInfo object Order limit information
Token Info (data.tokenInfo ):
Field Type Description
price string On-chain token price (USD) — per-token, not per-share (see Key Concept above)
priceChange24h string 24h price change (USD)
priceChangePct24h string 24h price change (%)
totalHolders string Number of on-chain holders
sharesMultiplier string Same as multiplier in API 1 (see Key Concept above, Notes §6)
volume24h string ⚠️ Misleading: This is the US stock trading volume in USD, NOT on-chain DEX volume
marketCap string On-chain market cap (USD) = circulatingSupply × price
fdv string Fully diluted valuation (USD)
circulatingSupply string Circulating supply (token units)
maxSupply string Maximum supply (token units)
Stock Info (data.stockInfo ):
Field Type Description
price string|null US stock price (USD). May be null outside trading hours
priceHigh52w string 52-week high price (USD)
priceLow52w string 52-week low price (USD)
volume string ⚠️ US stock volume in shares (not USD). Multiply by price to get USD value
averageVolume string Average daily volume (shares)
sharesOutstanding string Total shares outstanding
marketCap string US stock total market cap (USD)
turnoverRate string Turnover rate (%)
amplitude string|null Intraday amplitude (%)
priceToEarnings string P/E ratio (TTM)
dividendYield string Dividend yield (TTM, percentage value: 0.27 means 0.27%)
priceToBook string|null P/B ratio
lastCashAmount string|null Most recent cash dividend amount per share (USD)
Status Info (data.statusInfo ):
Same schema as API 4 response. See Asset Market Status for field details and reason codes.
Limit Info (data.limitInfo ):
Field Type Description
maxAttestationCount string Maximum attestation count for orders
maxActiveNotionalValue string Maximum active notional value for orders (USD)
API 6: Token K-Line
Method: GET
URL:
https://www.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/dex/market/token/kline/ai
Request Parameters:
Parameter Type Required Default Description
chainId string Yes
Chain ID (e.g. 56 for BSC, 1 for Ethereum)
contractAddress string Yes
Token contract address
interval string Yes
K-Line interval (see Interval Reference)
limit integer No 300 Number of candles to return (max 300)
startTime long No
Start timestamp (ms), based on candle open time
endTime long No
End timestamp (ms), based on candle open time minus 1ms
Note on startTime / endTime : Both reference the candle's open time. If omitted, returns the latest candles. When both are provided, endTime should be the target candle's open time minus 1ms.
Interval Reference:
Interval Description
1m 1 minute
5m 5 minutes
15m 15 minutes
1h 1 hour
4h 4 hours
12h 12 hours
1d 1 day
Headers: Accept-Encoding: identity
Example:
curl 'https://www.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/dex/market/token/kline/ai?chainId=56&contractAddress=<CONTRACT_ADDRESS>&interval=1d&limit=5'
-H 'Accept-Encoding: identity'
-H 'User-Agent: binance-web3/1.1 (Skill)'
Response:
{ "code": "000000", "data": { "klineInfos": [ [1773619200000, "302.935406291919976543", "306.960384694362870577", "302.25959298411397863", "305.249336787737745037", "0", 1773705599999], [1773705600000, "305.644964527245747627", "311.890874865402466994", "303.302517784917770672", "311.028506552196415779", "0", 1773791999999] ], "decimals": 5 }, "success": true }
Candle Array Format (each element in data.klineInfos[] ):
Index Field Type Description
0 openTime number Candle open timestamp (ms)
1 open string Open price (USD)
2 high string High price (USD)
3 low string Low price (USD)
4 close string Close price (USD)
5
string Reserved field
6 closeTime number Candle close timestamp (ms)
Response Fields:
Field Type Description
klineInfos array Array of candle arrays (see format above)
decimals integer Price decimal precision hint
User Agent Header
Include User-Agent header with the following string: binance-web3/1.1 (Skill)
Notes
volume24h in tokenInfo is misleading: tokenInfo.volume24h from the RWA Dynamic API returns the US stock daily trading volume in USD, not the on-chain DEX trading volume. For actual on-chain buy/sell volume, use the Binance on-chain dynamic API (/market/token/dynamic/info ) with volume24hBuy
- volume24hSell fields instead.
dividendYield is a percentage value, not a raw decimal: A value of 0.27 means 0.27% dividend yield.
Icon and report URLs are relative paths — prepend domain to use: The API returns relative paths for icon , dailyAttestationReports , and monthlyAttestationReports (e.g. /images/web3-data/public/token/logos/... ). To construct the full URL, prepend https://bin.bnbstatic.com . Example: /images/web3-data/public/token/logos/<TOKEN_ID>.png → https://bin.bnbstatic.com/images/web3-data/public/token/logos/<TOKEN_ID>.png .
No API key required: All endpoints are public APIs. No authentication needed.
Multi-chain deployments: Each supported stock may be deployed on multiple chains (e.g. both Ethereum and BSC). stockInfo and tokenInfo.price are identical across chains. tokenInfo.totalHolders is aggregated cross-chain. tokenInfo.circulatingSupply and tokenInfo.marketCap are chain-specific.
multiplier / sharesMultiplier — critical for price comparison: Each token represents multiplier shares of the underlying stock, not exactly 1 share. The multiplier starts at 1.0 and increases over time as cash dividends are reinvested (cumulative dividend adjustment). Some tokens also reflect stock splits (e.g. multiplier = 10.0 means 1 token = 10 shares).
Formula:
referencePrice = tokenInfo.price ÷ sharesMultiplier
tokenInfo.price and stockInfo.price come from different sources (on-chain oracle vs stock feed) and update at different frequencies, so a small premium/discount (typically within ±0.1%) is normal.
Common multiplier categories:
Multiplier Cause
Exactly 1.0 No dividends paid yet, or newly listed
Slightly above 1.0 Cumulative cash dividend reinvestment (grows over time)
5.0, 10.0 Stock split reflected in token structure
The exact multiplier value changes over time as dividends accumulate. Always read it from the API at query time — never hardcode.