skills/binance/binance-skills-hub/binance-tokenized-securities-info

binance-tokenized-securities-info

SKILL.md

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

  1. List Supported Stocks: Get all Ondo tokenized tickers with chain and contract info
  2. Company Research: Get company metadata, CEO, industry, concept tags, and attestation reports
  3. Market Status Check: Determine if the Ondo market is open, closed, or in pre/post-market session
  4. Corporate Action Detection: Check if a specific asset is paused or limited due to earnings, dividends, stock splits, mergers, or maintenance
  5. Real-Time Data: Get on-chain price, holder count, circulating supply, US stock P/E, dividend yield, 52-week range, and order limits
  6. 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:

https://www.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/market/token/rwa/stock/detail/list/ai

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:

https://www.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/market/token/rwa/market/status/ai

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:

https://www.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/market/token/rwa/asset/market/status/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/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

  1. 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.

  2. dividendYield is a percentage value, not a raw decimal: A value of 0.27 means 0.27% dividend yield.

  3. 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>.pnghttps://bin.bnbstatic.com/images/web3-data/public/token/logos/<TOKEN_ID>.png.

  4. No API key required: All endpoints are public APIs. No authentication needed.

  5. 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.

  6. 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.

Weekly Installs
217
GitHub Stars
614
First Seen
4 days ago
Installed on
codex201
opencode200
amp199
gemini-cli198
deepagents198
antigravity198