Nova Wallet Wiki
Search
⌃K
📚

Developer Documentation

Introduction

Nova Wallet is an open-source web3 wallet solution for both iOS and Android, focusing on the Polkadot ecosystem.
Our GitHub repo can be found here: https://github.com/nova-wallet

Polkadot JS Integration

Integration Steps

  1. 1.
    Make sure that your DApp interface is adopted for mobile platforms;
  2. 2.
    The simplest way to integrate Nova is by using @polkadot/extension-dapp package since Nova Wallet implements the same protocol as the polkadot-js extension
  3. 3.
    Due to the specifics of mobile browsers, window.injectedWeb3 might not be injected right at the start of page execution. The best practice is to either retry a few seconds later if window.injectedWeb3 was not found or to allow user to trigger connection flow manually (e.g. by clicking on Nova Wallet icon)
  4. 4.
    Use window.walletExtension.isNovaWallet flag to determine that the Nova Wallet connection option is supported and allow the user to initiate it manually by choosing the option in the DApp interface. Feel free to use our brand kit to display the Nova Wallet icon for connection option in the DApp interface.

Check Integration

  1. 1.
    Deploy your DApp with Nova Wallet integration on your testing environment and copy the url;
  2. 2.
    Download latest Nova Wallet application from our website;
  3. 3.
    Launch the app and create a watch only wallet (select the default "Nova" account) or by providing your wallet's Substrate and Ethereum addresses;
  4. 4.
    Open your DApp by pasting DApp url into the search field on DApps (Android)/Browser (iOS) tab;
  5. 5.
    Initiate connection in the DApp interface using Nova Wallet option and make sure that the wallet authorization screen appears in the Nova Wallet;
  6. 6.
    Accept connection in Nova Wallet and make sure that DApp interface switches to the connected state (address from the Nova Wallet displays correctly);
  7. 7.
    Initiate transaction from DApp interface and make sure that the transaction confirmation screen appears in Nova Wallet;
  8. 8.
    If you encountered any issues and want to debug website, you can do the following:
    • Contact us either in telegram or by by email to obtain debuggable build
    • Open web page you want to debug in debuggable version of Nova
    • If you are using Android, open Google Chrome on PC, go to chrome://inspect/#devices and connect to the debugger
    • You will be able to use standard set of devtools, such as console, DOM tree inspector and others

Metamask Integration

Integration Steps

  1. 1.
    Make sure that your DApp interface is adopted for mobile platforms;
  2. 2.
    Implement the Metamask protocol on DApp side to communicate with Nova wallet mobile application web bridge. Follow best practice for Metamask on mobile;
  3. 3.
    Make sure DApp properly switches chain using wallet_addEthereumChain and wallet_switchEthereumChain protocol functions if Nova Wallet returns unsupported chain id;
  4. 4.
    Use window.ethereum.isNovaWallet flag to determine that Nova Wallet connection option is supported and allow user to initiate it manually by choosing the option in the DApp interface. Feel free to use our brand kit to display the Nova Wallet icon for connection option in the DApp interface.

Check Integration

  1. 1.
    Deploy your DApp with Nova Wallet integration on your testing environment and copy the url;
  2. 2.
    Download latest Nova Wallet application from our website;
  3. 3.
    Launch the app and create watch only wallet (select the default "Nova" account) or by providing your wallet's Substrate and Ethereum addresses;
  4. 4.
    Open DApp by pasting DApp url into search field on DApps (Android)/Browser (iOS) tab;
  5. 5.
    Initiate connection in the DApp interface using Nova Wallet option and make sure that wallet authorisation screen appears in the Nova Wallet;
  6. 6.
    Accept connection in the Nova Wallet and make sure that DApp interface switches to the connected state (address from the Nova Wallet displays correctly);
  7. 7.
    Initiate transaction from DApp interface and make sure that transaction confirmation screen appears in the Nova Wallet;
  8. 8.
    If you encountered any problems contact us either in telegram or by by email to obtain debuggable build