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#
- Python
- JavaScript
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(())
}
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());
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.