🪐BNB Chain DApps Integration

Welcome to MapNode Extension Wallet Developer Guide. This documentation contains guides for developers to get started developing on MapNode Extension Wallet.‌

To detect MapNode Extension with BNB Chain

To detect whether your browser is running MapNode Extension, please use:

if(window.mapnode || window.binancChain || window.binanceChain?.isMapNode){
    console.log('MapNode Extension is installed!');

Notice: MapNode Extension Testnet is under development and not available now. The MapNode Extension on Ethereum JavaScript provider API is specified by EIP-1193. Supportwindow.ethereum + window.binance and removal window.web3

To connect MapNode Extension Wallet

To connect MapNode Extension means to access the user's [blockchain - like Ethereum] account(s).

// Connect & get accounts
window.binanceChain.request({method: 'bsc_accounts'});
// Alias for connection
window.binanceChain.request({method: 'bsc_requestAccounts'});​
//Check if dapp connected
// Connect & get accounts
window.ethereum.request({method: 'eth_accounts'});
// Alias for connection
window.ethereum.request({method: 'eth_requestAccounts'});​
//Check if dapp connected

To disconnect MapNode Extension Wallet

To disconnect MapNode Extension, please use:


To experience functions

Once your account is connected, let's start experiencing more functions.‌

Get Current Account

return Promise<Array[String]>

  • If wallet can not be found, return [] instead of throw Error

window.binanceChain.request({ method: 'bsc_accounts' }).then(accounts => {
  if (accounts[0]) {
    // Do something with accounts
  } else {
    // Wallet not found

Check wallet whether exists or not

return Promise<{data: Boolean}>

window.binChain.request({ method: 'has_wallet', params: ['binanceSmartChain']})
// Example
window.binanceChain.request({ method: 'has_wallet', params: ['binanceSmartChain'] }).then(() => {
  // Wallet Exists
}).catch(e => { 
  // Wallet not found

Sign Transaction

return: Promise<Signature | RPC: 2.0>

// Example Sign Transactionconst
const signature = window.binanceSmartChain.request({
    method: 'bsc_sign',
    params: {
        "undefined": "string",
        "to": "string",
        "gas": "string",
        "gasPrice": "string",
        "value": "string",
        "data": "string",
        "nonce": "string"


return Promise<hash>

  method: 'bsc_sendTransaction',
  params: [
      undefined: 'string',
      to: 'string',
      gas: 'string',
      gasPrice: 'string',
      value: 'string',
      data: 'string',
      nonce: 'string'

RPC Request

return Promise<binanceSmartChain RPC> Currently only support HTTP(s) method Reference: RPC Method

window.binanceChain.request({method: '<Your Method>', params: [args1,....]})

To handle events

List of events

Currently we only support some action event from wallet extension

window.binanceChain.on('event_name', callback);
window.binanceChain.on('close', () => window.location.reload());
window.binanceChain.on('accountsChanged', () => window.location.reload());


Receive when active account changed in Extension


Receive when active network changed in Extension


Receive when active chain changed in Extension


Receive when disconnect from Extension


Alias for disconnect event


on(event, callback)

Add event listener

off(event, callback)

Remove event listener

Last updated