EVM-compatible DApps Integration
This document guides user how to integrate EVM-compatible Blockchains for DApps. This will apply to all the EVM-compatible Blockchains currently supported in Coin98 Wallet.
Supported EVM-compatible Blockchains
Ethereum
Viction
BNB Smart Chain
Polygon
Avalanche C-Chain
Arbitrum
Aurora
Base
Bittorrent Chain
Boba Network
Celo
Chiliz
Conflux
Core
Cronos
Ethereum PoW
f(x) Core EVM
Fantom
GateChain
Gnosis Chain
Harmony
HECO Chain
Humanode
KardiaChain
Klaytn
Kroma
KuCoin Commnunity Chain
Linea
Mantle
Moonbeam
Nautilus
Oasis Network
OKXChain
opBNB
Optimism
PlatON Network
Polygon zkEVM
Ronin
Scroll
StarkNet Theta Network
Theta Network EVM
zkSync Era
Ancient8 (Testnet)
Base (Testnet)
Taiko Jolnir (Testnet)
Mantle (Testnet)
Scroll (Testnet)
ZetaChain (Testnet)
To detect Coin98 Wallet with EVM-compatible Blockchains
To detect whether your browser is running Coin98 Wallet, please use:
Notice: The Coin98 Wallet on EVM JavaScript provider API is specified by EIP-1193 and EIP-6963. Support window.ethereum or window.coin98.provider only (window.web3is unsupported)
To connect Coin98 Wallet
To connect Coin98 Wallet means to access the user's [blockchain - like Ethereum] account(s).
To disconnect Coin98 Wallet
To disconnect Coin98 Wallet, 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 ofthrow Error
Check wallet whether exists or not
return Promise<{data: Boolean}>
Sign Transaction
return: Promise<Signature | RPC: 2.0>
Transfer
return Promise<hash>
Decrypt
return Promise<string>
Get Encryption Public Key
return Promise<string>- The public encryption key of the Ethereum account whose encryption key should be retrieved
Encrypt
Add EVM-compatible Chain
result - if the request was successful, and an error otherwise.
Switch Ethereum Chain
Result - if the request was successful, and an error otherwise.
Watch Asset
Result - true if the token was added, false otherwise
RPC Request
return Promise<Ethereum RPC> Currently only support HTTP(s) method Reference: RPC Method
Experimental MultiChain Connection (under maintenance)
You can connect and receive multiChain address at the same time by using the following methods
When your connection is successful, chain's properties will be available for your next request. For example:
Chain's Name can be found at
Subscription
Support subscribe using JSON-RPC notifications. This allows clients to wait for events instead of polling for them. All results will be released at data event.
Methods
Example
To handle events
List of events
Currently we only support some action events from Wallet
accountsChanged
Receive when active account changed in Wallet
networkChanged
Receive when active network changed in Wallet
chainChanged
Receive when active chain changed in Wallet
disconnect
Receive when disconnecting from Wallet
close
Alias for disconnect event
IMPORTANT: We strongly recommend reloading the page upon chainChanged, unless you have a good reason not to
on(event, callback)
Add event listener
off(event, callback)
Remove event listener
Last updated