Persistence DApps Integration
Welcome to Coin98 Extension Wallet Developer Guide. This documentation contains guides for developers to get started developing on Coin98 Extension Wallet.‌

To detect Coin98 Extension with Persistence Base Chain

To detect whether your browser is running Coin98 Extension, please use:
if (window.coin98) {
console.log('Coin98 Extension is installed!');

Notice: Coin98 Extension Testnet is under development and not available now.

To connect Coin98 Extension Wallet

To connect Coin98 Extension means to access the user's [blockchain - like Persistence] account(s).
// Connect only
const connection = window.coin98.cosmos('<chain: String>');
// Connect & get accounts
connection.request({ method: 'cosmos_accounts' });
// Check whether dapp connected or not
Currently chains support: ['terra','persistence']

To disconnect Coin98 Extension Wallet

To disconnect Coin98 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
connection.request({ method: 'cosmos_accounts' }).then((accounts) => {
if (accounts[0]) {
// Do something with accounts
} else {
// Wallet not found

Check wallet whether exists or not

return Promise<{data: Boolean}>
const hasWallet = connection.request({ method: 'has_wallet', params: ['<chain>'] });

Execute contract function

return: Promise<Hash>
const signature = connection.request({
method: 'cosmos_execute',
params: ['<contractAddres: string>', '<executeMsg: string>'],
// Example Execute Contract
let cw20Contract =
let execMsg =
const response = await connection.request({
method: 'cosmos_execute',
params: [cw20Contract, execMsg],

To handle events

List of events

Currently we only support some action event from wallet extension
connection.on('event_name', callback);
connection.on('close', () => window.location.reload());
connection.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