> For the complete documentation index, see [llms.txt](https://docs.novabloq.com/web3-metamask/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.novabloq.com/web3-metamask/overview.md).

# Overview

**FYI We are still working on completing this documentation.**

This is a plugin for bubble.io platform made by [NovaBloq](https://novabloq.com/)\
It allows to use web3.js and MetaMask SDK without code to build a modern web3 app.\
Despite the name, it also can connect to other Web3 wallets besides the MetaMask.\
See details about it [here](/web3-metamask/use-with-other-wallets-and-plugins.md)

{% hint style="success" %}
In case you are new to Bubble, see the video tutorial below before continuing.
{% endhint %}

{% embed url="<https://youtu.be/E2kpCecHmK8>" %}

{% embed url="<https://discord.gg/HWfg853N6d>" %}
Our team is active on Discord. Join for discussions and support
{% endembed %}

## Here you will find all demo pages for this plugin:

<https://web3-demo.bubbleapps.io/version-test/>

This page contains a list of all available demo pages for this plugin. We did a separate page for each mostly requested feature. Take a look on how it works, also open it in the app editor to see the workflow.

## Plugin Features

The plugin has 2 elements to separate the main features from the optional additional features.

<details>

<summary>Web3 &#x26; MetaMask - main element</summary>

All Features in this element:

* [Connect to MetaMask wallet](/web3-metamask/elements-details/web3-and-metamask/connect-to-metamask.md)
* [Disconnect MetaMask](/web3-metamask/elements-details/web3-and-metamask/disconnect-metamask.md)
* [Send any token to an address](/web3-metamask/elements-details/web3-and-metamask/send-token-with-metamask.md)
* [Get Balance of any token](/web3-metamask/elements-details/web3-and-metamask/get-balance-of-a-token.md)
* [Get Balance of a list of tokens](/web3-metamask/elements-details/web3-and-metamask/get-balance-of-multiple-tokens.md)
* [Check NFT Balance](/web3-metamask/elements-details/web3-and-metamask/check-nft-balance.md)
* Check multiple NFTs Balance at once
* [Get Token Symbol](/web3-metamask/elements-details/web3-and-metamask/get-token-symbol.md)
* Check Allowance
* Approve (Set Allowance)
* [Revoke Allowance](/web3-metamask/elements-details/web3-and-metamask/revoke-allowance.md)
* Transfer From
* [Smart Contract Interaction - Read](/web3-metamask/elements-details/web3-and-metamask/smart-contract-read.md)
* [Smart Contract Interaction - Write](/web3-metamask/elements-details/web3-and-metamask/smart-contract-write.md)
* Deploy a Smart Contract
* Detect connected chain and on chain changed
* [Sign](/web3-metamask/elements-details/web3-and-metamask/sign.md)
* [Sign Typed Data (EIP-712) (v.4)](/web3-metamask/elements-details/web3-and-metamask/sign-typed-data.md)
* [Check signature](/web3-metamask/elements-details/web3-and-metamask/check-signature.md)
* Send Transaction
* [Get NFT Metadata](/web3-metamask/elements-details/web3-and-metamask/get-nft-metadata.md)
* Transfer NFT to another wallet
* [Trigger change network popup in MetaMask](/web3-metamask/elements-details/web3-and-metamask/trigger-switch-chain.md)
* Import a custom token
* Wrap/Unwrap ETH to WETH
* [Trigger Switch Chain](/web3-metamask/elements-details/web3-and-metamask/trigger-switch-chain.md)
* [Request to add a Chain to MetaMask](/web3-metamask/elements-details/web3-and-metamask/add-chain-to-metamask.md)

See details for each feature in the [Elements section](/web3-metamask/elements-details/web3-and-metamask.md)

</details>

<details>

<summary>Web3 Utils - optional element</summary>

Optional element, it will add additional useful features to your app\
\
All Features in this element:

* [Convert To Wei](/web3-metamask/elements-details/web3-utils/to-wei.md)
* [Convert From Wei](/web3-metamask/elements-details/web3-utils/from-wei.md)
* Check Is Address
* Get Gas Price
* Get Latest Block Number
* Extract contract ABI
* [Get Transaction confirmations](/web3-metamask/elements-details/web3-utils/get-transaction-confirmations.md)
* [Get Transaction Details](/web3-metamask/elements-details/web3-utils/get-transaction-details.md)
* Get Unix Timestamp
* Open MetaMask App (Deep link for mobile)
* Convert Hex to Number and vice versa.
* Convert List of Numbers to Hex
* Convert Ascii to Hex
* Subscribe to Smart Contract Events
* Subscribe to New Block mined event (Can be used as a timer to check for changes on the blockchain)
* [Request to add custom token to MetaMask](/web3-metamask/elements-details/web3-utils/add-token-to-metamask.md)
* [Get Transaction Details](/web3-metamask/elements-details/web3-utils/get-transaction-details.md) (Amount sent, Receiver, Contract used, Timestamp, Full JSON data)
* Get Avatar from MetaMask Wallet
* [Get ENS Domain from Address](/web3-metamask/elements-details/web3-utils/get-ens-domain-from-address.md)
* [Get All text records from an ENS name (Email, Avatar, Url, Twitter, etc.)](/web3-metamask/elements-details/web3-utils/get-ens-data.md)

See details for each feature in the [Elements section](/web3-metamask/elements-details/web3-utils.md)

</details>

{% hint style="info" %}
Make sure to **add the element on the page** **not inside a group** or popup!
{% endhint %}

{% hint style="info" %}
Adding more than 1 of each element on the page may result in errors.
{% endhint %}
