binance-tokenized-securities-info

|

INSTALLATION
npx skills add https://github.com/binance/binance-skills-hub --skill binance-tokenized-securities-info
Run in your project or agent environment. Adjust flags if your CLI version differs.

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

  • 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:

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&#x26;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&#x26;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&#x26;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](#api-4-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&#x26;contractAddress=<CONTRACT_ADDRESS>&#x26;interval=1d&#x26;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>.pnghttps://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.

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card