binance-tokenized-securities-info

Original🇺🇸 English
Not Translated

Query Ondo tokenized US stock data on Binance Web3. Covers: supported stock token list, RWA metadata (company info, attestation reports), market and per-asset trading status (with corporate action codes for earnings, dividends, splits), real-time on-chain data (token price, holders, circulating supply, market cap), US stock fundamentals (P/E, dividend yield, 52-week range), and token K-Line/candlestick charts. Use this skill when users ask about: - Tokenized stock price, holders, or on-chain data for specific tickers - Whether a stock token is tradable, paused, or halted - Ondo RWA token list or which US stocks are available on-chain - Corporate actions affecting a token (dividends, stock splits, earnings halt) - Stock token K-Line or candlestick chart data - Comparing on-chain token price vs US stock price NOT for general crypto tokens (BTC, ETH, SOL, etc.) — use query-token-info for those.

2installs
Added on

NPX Install

npx skill4agent add s60007766/binance-openclaw binance-tokenized-securities-info

SKILL.md Content

Binance Tokenized Securities Info Skill

Overview

APIFunctionUse Case
Token Symbol ListList all tokenized stocksBrowse Ondo supported tickers, filter by type
RWA MetaTokenized stock metadataCompany info, concepts, attestation reports
Market StatusOverall market open/closeCheck if Ondo market is currently trading
Asset Market StatusPer-asset trading statusDetect corporate actions (earnings, dividends, splits, mergers)
RWA Dynamic V2Full real-time dataOn-chain price, holders, US stock fundamentals, order limits
Token K-LineCandlestick chartsOHLC data for on-chain token price technical analysis

Recommended Workflows

ScenarioSteps
Look up a stock's fundamentals and on-chain dataAPI 1 (get
chainId
+
contractAddress
by ticker) → API 5 (dynamic data)
Check if a stock token is tradableAPI 3 (overall market status) → API 4 (per-asset status with reason code)
Research a tokenized stockAPI 1 (find token) → API 2 (company metadata + attestation reports)
Get K-Line chart dataAPI 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

Supported Chains

ChainchainId
Ethereum1
BSC56

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:
ParameterTypeRequiredDescription
typeintegerNoFilter 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:
bash
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:
json
{
  "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
):
FieldTypeDescription
chainIdstringChain ID (
1
= Ethereum,
56
= BSC)
contractAddressstringToken contract address
symbolstringToken symbol (ticker +
on
suffix, e.g.
<TOKEN_SYMBOL_ON>
)
tickerstringUnderlying US stock ticker
typeintegerPlatform type:
1
= Ondo
multiplierstringShares multiplier (cumulative dividend adjustment factor)

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:
ParameterTypeRequiredDescription
chainIdstringYesChain ID (e.g.
56
for BSC,
1
for Ethereum)
contractAddressstringYesToken contract address
Headers:
Accept-Encoding: identity
Example:
bash
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:
json
{
  "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
):
FieldTypeDescription
tokenIdstringToken unique ID
namestringFull token name (e.g.
<TOKEN_DISPLAY_NAME>
)
symbolstringToken symbol (e.g.
<TOKEN_SYMBOL_ON>
)
tickerstringUnderlying stock ticker (e.g.
<UNDERLYING_TICKER>
)
iconstringIcon 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
)
dailyAttestationReportsstringDaily attestation report relative path. Prepend
https://bin.bnbstatic.com
to get the full URL
monthlyAttestationReportsstringMonthly attestation report relative path. Prepend
https://bin.bnbstatic.com
to get the full URL
companyInfoobjectCompany details (see below)
decimalsintegerToken decimals (typically
18
)
Company Info Fields (
data.companyInfo
):
FieldTypeDescription
companyNamestringCompany name in English
companyNameZhstringCompany name in Chinese
homepageUrlstringCompany homepage URL
descriptionstringCompany description (English)
descriptionZhstringCompany description (Chinese)
ceostringCEO name
industrystringIndustry classification
industryKeystringIndustry i18n key
conceptsCnstring[]Concept/theme tags in Chinese
conceptsEnstring[]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:
bash
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:
json
{
  "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
):
FieldTypeDescription
openStatebooleanWhether the Ondo market is currently open for trading
reasonCodestring|nullReason code if market is not in normal trading state (see Reason Codes)
reasonMsgstring|nullHuman-readable reason message
nextOpenstringNext market open time from current state (ISO 8601 UTC)
nextClosestringNext market close time from current state (ISO 8601 UTC)
nextOpenTimenumberNext market open time from current state (Unix timestamp in ms)
nextCloseTimenumberNext 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:
ParameterTypeRequiredDescription
chainIdstringYesChain ID
contractAddressstringYesToken contract address
Headers:
Accept-Encoding: identity
Example:
bash
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:
json
{
  "code": "000000",
  "data": {
    "openState": false,
    "marketStatus": "closed",
    "reasonCode": "MARKET_CLOSED",
    "reasonMsg": null,
    "nextOpenTime": 1774252860000,
    "nextCloseTime": 1774272540000
  },
  "success": true
}
Response Fields (
data
):
FieldTypeDescription
openStatebooleanWhether this specific asset is available for trading
marketStatusstringCurrent session:
premarket
,
regular
,
postmarket
,
overnight
,
closed
,
pause
reasonCodestringStatus reason code (see Reason Codes below)
reasonMsgstring|nullHuman-readable reason message (populated when paused/limited)
nextOpenTimenumberNext open time (Unix timestamp in ms)
nextCloseTimenumberNext close time (Unix timestamp in ms)

Reason Codes

reasonCodeDescription
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:
reasonCodereasonMsgDescription
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:
ParameterTypeRequiredDescription
chainIdstringYesChain ID
contractAddressstringYesToken contract address
Headers:
Accept-Encoding: identity
Example:
bash
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:
json
{
  "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
):
FieldTypeDescription
symbolstringToken symbol (e.g.
<TOKEN_SYMBOL_ON>
)
tickerstringUnderlying stock ticker (e.g.
<UNDERLYING_TICKER>
)
tokenInfoobjectOn-chain token data
stockInfoobjectUS stock fundamentals
statusInfoobjectMarket/asset trading status (same schema as API 4)
limitInfoobjectOrder limit information
Token Info (
data.tokenInfo
):
FieldTypeDescription
pricestringOn-chain token price (USD)
priceChange24hstring24h price change (USD)
priceChangePct24hstring24h price change (%)
totalHoldersstringNumber of on-chain holders
sharesMultiplierstringShares multiplier (cumulative dividend adjustment factor)
volume24hstring⚠️ Misleading: This is the US stock trading volume in USD, NOT on-chain DEX volume
marketCapstringOn-chain market cap (USD) =
circulatingSupply × price
fdvstringFully diluted valuation (USD)
circulatingSupplystringCirculating supply (token units)
maxSupplystringMaximum supply (token units)
Stock Info (
data.stockInfo
):
FieldTypeDescription
pricestring|nullUS stock price (USD). May be
null
outside trading hours
priceHigh52wstring52-week high price (USD)
priceLow52wstring52-week low price (USD)
volumestring⚠️ US stock volume in shares (not USD). Multiply by
price
to get USD value
averageVolumestringAverage daily volume (shares)
sharesOutstandingstringTotal shares outstanding
marketCapstringUS stock total market cap (USD)
turnoverRatestringTurnover rate (%)
amplitudestring|nullIntraday amplitude (%)
priceToEarningsstringP/E ratio (TTM)
dividendYieldstringDividend yield (TTM, percentage value:
0.27
means 0.27%)
priceToBookstring|nullP/B ratio
lastCashAmountstring|nullMost 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
):
FieldTypeDescription
maxAttestationCountstringMaximum attestation count for orders
maxActiveNotionalValuestringMaximum 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:
ParameterTypeRequiredDefaultDescription
chainIdstringYes-Chain ID (e.g.
56
for BSC,
1
for Ethereum)
contractAddressstringYes-Token contract address
intervalstringYes-K-Line interval (see Interval Reference)
limitintegerNo300Number of candles to return (max 300)
startTimelongNo-Start timestamp (ms), based on candle open time
endTimelongNo-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:
IntervalDescription
1m1 minute
5m5 minutes
15m15 minutes
1h1 hour
4h4 hours
12h12 hours
1d1 day
Headers:
Accept-Encoding: identity
Example:
bash
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:
json
{
  "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[]
):
IndexFieldTypeDescription
0openTimenumberCandle open timestamp (ms)
1openstringOpen price (USD)
2highstringHigh price (USD)
3lowstringLow price (USD)
4closestringClose price (USD)
5-stringReserved field
6closeTimenumberCandle close timestamp (ms)
Response Fields:
FieldTypeDescription
klineInfosarrayArray of candle arrays (see format above)
decimalsintegerPrice 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>.png
    https://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.