system_properties
Description
Returns static chain properties such as the SS58 address prefix, token symbol(s), and decimal precision. Clients and wallets use this information to format addresses and balances correctly for BNC and other registered assets.
Parameters
This method does not take parameters.
Returns
Field | Type | Description |
---|---|---|
ss58Format | number | SS58 prefix for address encoding |
tokenSymbol | array | List of native token symbols |
tokenDecimals | array | Decimal precision for each token symbol |
currencyTypes | object | (Optional) Mapping of additional asset identifiers |
Request Example
{
"jsonrpc": "2.0",
"method": "system_properties",
"params": [],
"id": 1
}
Response Example
{
"jsonrpc": "2.0",
"result": {
"ss58Format": 6,
"tokenSymbol": ["BNC"],
"tokenDecimals": [12]
},
"id": 1
}
Code Examples
JavaScript (polkadot.js)
const provider = new WsProvider('wss://api-bifrost-polkadot.n.dwellir.com/YOUR_API_KEY');
const api = await ApiPromise.create({ provider });
const properties = api.registry.getChainProperties();
console.log(properties?.toHuman());
Python (py-substrate-interface)
from substrateinterface import SubstrateInterface
substrate = SubstrateInterface(
url="wss://api-bifrost-polkadot.n.dwellir.com/YOUR_API_KEY"
)
props = substrate.properties
print("SS58 prefix:", props.ss58_format)
print("Symbols:", props.token_symbol)
print("Decimals:", props.token_decimals)
Rust (subxt)
use subxt::{config::substrate::SubstrateConfig, OnlineClient};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let api = OnlineClient::<SubstrateConfig>::from_url("wss://api-bifrost-polkadot.n.dwellir.com/YOUR_API_KEY").await?;
let props = api.rpc().system_properties().await?;
println!("Properties: {:?}", props);
Ok(())
}
Notes
- Bifrost uses SS58 prefix
6
. Attempting to decode accounts with prefix0
(Polkadot) or2
(Kusama) will fail. - Additional derivatives may expose extra symbols through runtime metadata; consult the Asset Registry pallet when listing vToken symbols.