{"id":13695108,"url":"https://github.com/tatumio/tatum-js","last_synced_at":"2025-05-14T16:01:44.483Z","repository":{"id":36951423,"uuid":"277798274","full_name":"tatumio/tatum-js","owner":"tatumio","description":"🚀 Tatum SDK: A 💪 powerful, 🌟 feature-rich TypeScript/JavaScript 📚 library that streamlines the 🛠️ development of 🌐 blockchain applications.","archived":false,"fork":false,"pushed_at":"2025-03-17T10:36:08.000Z","size":72246,"stargazers_count":378,"open_issues_count":11,"forks_count":121,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-12T01:53:04.761Z","etag":null,"topics":["api","blockchain","cryptocurrency","dev-tool","ethereum","exchange-rate","fee-estimation","fungible-tokens","json-rpc","nft","notifications","polygon","rpc","sdk","solana","tron","typescript","wallet-provider","webhooks"],"latest_commit_sha":null,"homepage":"https://docs.tatum.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tatumio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-07T11:30:21.000Z","updated_at":"2025-04-08T02:50:00.000Z","dependencies_parsed_at":"2023-09-27T16:06:32.909Z","dependency_job_id":"ad8be396-cd67-4d0c-878d-b660b772c0a8","html_url":"https://github.com/tatumio/tatum-js","commit_stats":{"total_commits":1390,"total_committers":50,"mean_commits":27.8,"dds":0.6453237410071943,"last_synced_commit":"d28addf748cfa9d35da7f78dea3d510bca6e6ac5"},"previous_names":[],"tags_count":430,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tatumio%2Ftatum-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tatumio%2Ftatum-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tatumio%2Ftatum-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tatumio%2Ftatum-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tatumio","download_url":"https://codeload.github.com/tatumio/tatum-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505873,"owners_count":21115354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","blockchain","cryptocurrency","dev-tool","ethereum","exchange-rate","fee-estimation","fungible-tokens","json-rpc","nft","notifications","polygon","rpc","sdk","solana","tron","typescript","wallet-provider","webhooks"],"created_at":"2024-08-02T18:00:17.635Z","updated_at":"2025-04-12T01:53:49.623Z","avatar_url":"https://github.com/tatumio.png","language":"TypeScript","funding_links":[],"categories":["SDKs","Software Development"],"sub_categories":["JavaScript"],"readme":"[![Tatum Website](https://assets-global.website-files.com/62624e283b503f3e68275638/62624e283b503fde012757c1_Light.svg)](https://tatum.io)\n\n# 🚀 Tatum SDK – Your Gateway to Blockchain\n\nThe Tatum SDK is a comprehensive TypeScript/JavaScript library designed to simplify blockchain application development. Whether you're monitoring blockchain addresses, making RPC calls, managing NFTs, or querying wallet balances and transactions, Tatum SDK streamlines the process with its robust features:\n\n- 🕵️‍♂️ **Blockchain Monitoring**: Easily track activities on any blockchain address.\n- 📞 **RPC Calls Simplified**: Interact with various blockchains through simplified RPC calls.\n- 🖼️ **NFT Insights**: Access detailed information on NFT balances, transactions, and ownership.\n- 💰 **Wallet Intelligence**: Get precise data on wallet balances and transaction history.\n\n[![GitHub Downloads](https://img.shields.io/npm/dm/@tatumio/tatum)](https://github.com/tatumio/tatum-js)\n[![NPM Version](https://img.shields.io/npm/v/@tatumio/tatum.svg?style=flat-square)](https://www.npmjs.com/package/@tatumio/tatum)\n[![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/tatumio/tatum-js/blob/master/LICENSE.txt)\n[![Build](https://img.shields.io/github/actions/workflow/status/tatumio/tatum-js/build.yml?branch=master)](https://img.shields.io/github/actions/workflow/status/tatumio/tatum-js/build.yml?branch=master)\n\n---\n\n🔑 **Don't have an API key?** Unlock all networks, features, and monitor error logs \u0026 usage with ease.\n[Create API Key for FREE](https://dashboard.tatum.io) - Start building on Tatum with full access to our powerful suite of features.\n\n## Tailored for Developers\n\nEngineered with a developer-first approach, Tatum SDK accelerates your blockchain application development, regardless of your experience level. Explore our [Documentation](https://docs.tatum.io) and [Getting Started Guide](https://github.com/tatumio/tatum-js#getting-started) to jumpstart your projects:\n\n- **Super fast development:** Start building blockchain applications in no time.\n- **No previous blockchain experience required:** Perfect for beginners and experts alike.\n- **One line of code:** Perform complex tasks with minimal effort.\n\nNeed help or want to contribute? [Report Bugs](https://github.com/tatumio/tatum-js/issues/new?assignees=-\u0026labels=bug\u0026template=bug_report.yml), join our community, or collaborate on improvements.\n\n[![Join us on Discord](https://img.shields.io/discord/847940290903932939?style=social\u0026logo=discord\u0026label=Discord)](https://discord.gg/tatum)\n[![Follow on X (formerly Twitter)](https://img.shields.io/twitter/follow/tatum_io?style=social\u0026logo=x)](https://twitter.com/tatum_io)\n[![Subscribe on YouTube](https://img.shields.io/youtube/channel/views/UCF-OAfXNJ9h3U2ycHE1NGNw?style=social\u0026logo=youtube\u0026label=Youtube)](https://www.youtube.com/channel/UCF-OAfXNJ9h3U2ycHE1NGNw)\n\n### 🔌 Perform Native RPC Calls\n\nInteract seamlessly with various blockchains through native RPC calls. Say goodbye to the hassle of juggling separate RPC clients for each blockchain.\n\n| Documentation                                                                                             |\n|-----------------------------------------------------------------------------------------------------------|\n| **EVM Blockchains**                                                                                       |\n| [Ethereum RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/ethereum-rpc-documentation)                 |\n| [Polygon RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/polygon-rpc-documentation)                   |\n| [Flare RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/flare-rpc-documentation)                       |\n| [Haqq RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/haqq-rpc-documentation)                         |\n| [Optimism RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/optimism-rpc-documentation)                 |\n| [Horizen EON RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/horizen-eon-rpc-documentation)           |\n| [Arbitrum One RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/arbitrum-rpc-documentation)             |\n| [Chiliz RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/chiliz-rpc-documentation)                     |\n| [Ethereum Classic RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/ethereum-classic-rpc-documentation) |\n| [Klaytn RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/klaytn-rpc-documentation)                     |\n| [Avalanche RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/avalanche-rpc-documentation)               |\n| [Celo RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/celo-rpc-documentation)                         |\n| [XinFin RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/xinfin-rpc-documentation)                     |\n| [Fantom RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/fantom-rpc-documentation)                     |\n| [Base RPC](https://docs.tatum.io/docs/rpc/evm-blockchains/base-rpc-documentation)                         |\n| **UTXO Blockchains**                                                                                      |\n| [Bitcoin RPC](https://docs.tatum.io/docs/rpc/utxo-blockchains/bitcoin-rpc-documentation)                  |\n| [Litecoin RPC](https://docs.tatum.io/docs/rpc/utxo-blockchains/litecoin-rpc-documentation)                |\n| [Dogecoin RPC](https://docs.tatum.io/docs/rpc/utxo-blockchains/dogecoin-rpc-documentation)                |\n| [ZCash RPC](https://docs.tatum.io/docs/rpc/utxo-blockchains/zcash-rpc-documentation)                      |\n| [Bitcoin Cash RPC](https://docs.tatum.io/docs/rpc/utxo-blockchains/bitcion-cash-rpc-documentation)        |\n| **Other Blockchains**                                                                                     |\n| [Solana RPC](https://docs.tatum.io/docs/rpc/solana-rpc-documentation)                                     |\n| [XPR RPC](https://docs.tatum.io/docs/rpc/xrp-rpc-documentation)                                           |\n| [Tron RPC](https://docs.tatum.io/docs/rpc/tron-rpc-documentation)                                         |\n| [Eos RPC](https://docs.tatum.io/docs/rpc/eos-rpc-documentation)                                           |\n| [Tezos RPC](https://docs.tatum.io/docs/rpc/tezos-rpc-documentation)                                       |\n| [Agorand RPC](https://docs.tatum.io/docs/rpc/algo-rpc-documentation)                                      |\n| [Cardano RPC](https://docs.tatum.io/docs/rpc/cardano-rpc-documentation)                                   |\n| [Stellar RPC](https://docs.tatum.io/docs/rpc/stellar-rpc-documentation)                                   |\n| [Iota RPC](https://docs.tatum.io/docs/rpc/iota-rpc-documentation)                                         |\n| [Kadena RPC](https://docs.tatum.io/docs/rpc/kadena-rpc-documentation)                                     |\n| [Rostrum RPC](https://docs.tatum.io/docs/rpc/rostrum-rpc-documentation)                                   |\n| [Cronos RPC](https://docs.tatum.io/docs/rpc/cronos-rpc-documentation)                                     |\n\n### 🔔 Create Notifications\n\nEffortlessly monitor wallet activities. Set up real-time notifications for events like:\n\n| Documentation                                                                                                                                         |\n| ----------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [Start monitoring of the address](https://docs.tatum.io/docs/notifications/notification-workflow/start-monitoring-of-the-address)                     |\n| [Stop monitoring of the address](https://docs.tatum.io/docs/notifications/notification-workflow/stop-monitoring-of-the-address)                       |\n| [Get all sent notifications](https://docs.tatum.io/docs/notifications/notification-workflow/get-all-sent-notifications)                               |\n| [Get all existing monitoring subscriptions](https://docs.tatum.io/docs/notifications/notification-workflow/get-all-existing-monitoring-subscriptions) |\n\n### 👛 Access Wallet Information\n\nThrough a single interface, obtain crucial wallet details such as balances, transaction history, and other pertinent information.\n\n| Documentation                                                                                                                 |\n| ----------------------------------------------------------------------------------------------------------------------------- |\n| [Get all assets the wallet holds](https://docs.tatum.io/docs/wallet-address-operations/get-all-assets-the-wallet-holds)       |\n| [Get all transactions on the wallet](https://docs.tatum.io/docs/wallet-address-operations/get-all-transactions-on-the-wallet) |\n\n### 🖼️ NFT Actions\n\nDive into a comprehensive suite of actions related to non-fungible tokens (NFTs).\n\n| Documentation                                                                                                      |\n| ------------------------------------------------------------------------------------------------------------------ |\n| [Get all NFTs the wallet holds](https://docs.tatum.io/docs/nfts/get-all-nfts-the-wallet-holds)                     |\n| [Get all NFTs in the NFT collection](https://docs.tatum.io/docs/nfts/get-all-nfts-in-the-nft-collection)           |\n| [Trace the history of a specific NFT](https://docs.tatum.io/docs/nfts/trace-the-history-of-a-specific-nft)         |\n| [Show the NFT history of a wallet](https://docs.tatum.io/docs/nfts/show-the-nft-history-of-a-wallet)               |\n| [Create NFT Collection](https://docs.tatum.io/docs/nfts/create-nft-collection)                                     |\n| [Create MultiToken NFT Collection](https://docs.tatum.io/docs/nfts/create-multitoken-nft-collection)               |\n| [Retrieve the owner of the NFT](https://docs.tatum.io/docs/nfts/retrieve-the-owner-of-the-nft)                     |\n| [Check if the wallet owns a specific NFT](https://docs.tatum.io/docs/nfts/check-if-the-wallet-owns-a-specific-nft) |\n| [Get the metadata of a specific NFT](https://docs.tatum.io/docs/nfts/get-the-metadata-of-a-specific-nft)           |\n\n### 🪙 Fungible Tokens\n\nExplore the world of fungible tokens, manage their properties, and track your assets seamlessly.\n\n| Documentation                                                                                                                   |\n| ------------------------------------------------------------------------------------------------------------------------------- |\n| [Get all fungible tokens the wallet holds](https://docs.tatum.io/docs/fungible-tokens/get-all-fungible-tokens-the-wallet-holds) |\n| [Show fungible token history of a wallet](https://docs.tatum.io/docs/fungible-tokens/show-fungible-token-history-of-a-wallet)   |\n| [Get metadata of a fungible token](https://docs.tatum.io/docs/fungible-tokens/get-metadata-of-a-fungible-token)                 |\n| [Create a fungible token](https://docs.tatum.io/docs/fungible-tokens/create-a-fungible-token)                                   |\n\n### 📁 IPFS\n\nEnables you as a developer to use IPFS to store and retrieve your media.\n\n| Documentation                                                      |\n| ------------------------------------------------------------------ |\n| [Upload file to IPFS](https://docs.tatum.io/docs/ipfs/upload-file) |\n\n### ⛽ Fee Estimation\n\nStay updated with real-time fee insights and ensure smooth transactions without overpaying.\n\n| Documentation                                                                       |\n| ----------------------------------------------------------------------------------- |\n| [Fetch real-time fee data](https://docs.tatum.io/docs/fee-estimation/getcurrentfee) |\n\n### 💻 Wallet Provider\n\nIntegrate, transact, and manage assets using a secure and user-friendly wallet provider interface.\n\n| Documentation                                                                                                                                                |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| [Connect a wallet](https://docs.tatum.io/docs/wallet-provider/metamask/connect-a-wallet)                                                                     |\n| [Transfer native assets](https://docs.tatum.io/docs/wallet-provider/metamask/transfer-native-assets)                                                         |\n| [Transfer your NFT](https://docs.tatum.io/docs/wallet-provider/metamask/transfer-your-nft)                                                                   |\n| [Create your NFT Collection](https://docs.tatum.io/docs/wallet-provider/metamask/create-your-nft-collection)                                                 |\n| [Create your Fungible Token](https://docs.tatum.io/docs/wallet-provider/metamask/create-your-fungible-token)                                                 |\n| [Create your NFT (ERC-1155 MultiToken) Collection](https://docs.tatum.io/docs/wallet-provider/metamask/create-your-nft-erc-1155-multitoken-collection)       |\n| [Transfer fungible tokens like USDT](https://docs.tatum.io/docs/wallet-provider/metamask/transfer-fungible-tokens-like-usdt)                                 |\n| [Approve the transfer of a fungible token like USDT](https://docs.tatum.io/docs/wallet-provider/metamask/approve-the-transfer-of-a-fungible-token-like-usdt) |\n| [Build your own custom transaction](https://docs.tatum.io/docs/wallet-provider/metamask/build-your-own-custom-transaction)                                   |\n\n### 💲 Exchange Rates\n\nAccess the latest crypto exchange rates and supported currency information to stay ahead in the market.\n\n| Documentation                                                                                                                                          |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| [Get current exchange rate of the crypto asset](https://docs.tatum.io/docs/exchange-rates/get-current-exchange-rate-of-the-crypto-asset)               |\n| [Get current rates for multiple crypto assets at once](https://docs.tatum.io/docs/exchange-rates/get-current-rates-for-multiple-crypto-assets-at-once) |\n| [Supported Crypto Currencies](https://docs.tatum.io/docs/exchange-rates/supported-crypto-currencies)                                                   |\n| [Supported Fiats](https://docs.tatum.io/docs/exchange-rates/supported-fiats)                                                                           |\n\n### 📘 Getting Started with TatumSDK\n\nThis guide will lead you step by step, from basic setup and installation to harnessing the immense capabilities of our library. For a detailed walkthrough, check out the [Getting Started page](https://docs.tatum.io/sdk/get-started-with-tatum-sdk).\n\n### 📊 TatumSDK Dashboard\n\nExperience powerful insights into your application's usage with the [Tatum Dashboard](https://dashboard.tatum.io/). It provides real-time analytics, user engagement metrics, and an intuitive interface, seamlessly integrating with TatumSDK for optimal app monitoring.\n\n### 🌱 Always Evolving\n\nOur library is on a continuous journey of growth. We regularly add new features and extend support for more blockchains. It's the go-to choice for developers aiming to craft robust, scalable, and efficient blockchain apps without the overwhelming intricacies of diverse blockchain protocols.\n\n## Prerequisites\n\nBefore diving into TatumSDK, ensure that you have the following prerequisites installed:\n\n- **Node.js**: Ensure you have the latest LTS version installed.\n- **npm**: npm is bundled with Node.js, so installing Node.js should automatically install npm.\n\n## Installation\n\nTo install TatumSDK, simply run the following command in your terminal or command prompt:\n\n### Install using [npm](https://www.npmjs.com/)\n\n```console\nnpm install @tatumio/tatum\n```\n\n### Install using [yarn](https://yarnpkg.com/)\n\n```console\nyarn add @tatumio/tatum\n```\n\n### Install using [pnpm](https://pnpm.io/)\n\n```console\npnpm install @tatumio/tatum\n```\n\n## Getting started\n\n### Basic Usage\n\nHere's a brief overview of how to utilize TatumSDK for RPC calls and subscribing to notifications.\n\n### Initialization\n\nStart by importing the TatumSDK library and initializing Ethereum client as follows:\n\n```ts\nimport { TatumSDK, Network, Ethereum } from '@tatumio/tatum'\n\nconst tatum = await TatumSDK.init\u003cEthereum\u003e({ network: Network.ETHEREUM })\n\n// Destroy Tatum SDK - needed for stopping background jobs\nawait tatum.destroy()\n```\n\nFor more details, check out the [Get started documentation](https://docs.tatum.io/sdk/javascript-typescript-sdk).\n\n### RPC Calls\n\nTo make RPC calls, use the available methods to interact with Ethereum blockchain. For example, to fetch the balance of a specific Ethereum address:\n\n```ts\nimport { TatumSDK, Network, Ethereum } from '@tatumio/tatum'\n\nconst tatum = await TatumSDK.init\u003cEthereum\u003e({ network: Network.ETHEREUM })\n\nconst { result } = await tatum.rpc.getBalance('0x742d35Cc6634C0532925a3b844Bc454e4438f44e')\nconsole.log(`Balance: ${result}`)\n\n// Destroy Tatum SDK - needed for stopping background jobs\nawait tatum.destroy()\n```\n\nFor more details, check out the [RPC documentation](https://docs.tatum.io/docs/rpc).\n\n### Subscribing to Notifications\n\nTo subscribe to notifications for events related to a specified Ethereum address, choose a type of event you want to be notified about.\nWe are going to use `addressEvent` as an example, which sends you notification about any transfer on the address - native ones, ERC20 tokens or NFTs. To subscribe to this event, use the following code:\n\n```ts\nimport { TatumSDK, Network, Ethereum } from '@tatumio/tatum'\n\nconst tatum = await TatumSDK.init\u003cEthereum\u003e({ network: Network.ETHEREUM })\n\nconst response = await tatum.notification.subscribe.addressEvent({\n  url: 'https://\u003cYOUR_WEBHOOK_URL\u003e',\n  address: '0x690B9A9E9aa1C9dB991C7721a92d351Db4FaC990',\n})\n\nconsole.log(response)\n// 🎉  Now your address is subscribed for any events!\n\n// Destroy Tatum SDK - needed for stopping background jobs\nawait tatum.destroy()\n```\n\nFor more details, check out the [Notifications documentation](https://docs.tatum.io/docs/notifications).\n\n### Get NFT balance of a wallet\n\nUsing TatumSDK, obtain the NFT balance of an address by calling the getNFTBalance method within the NFT submodule and passing the target address as an argument. This streamlined process efficiently retrieves the total number of NFTs owned by the specified address. To achieve this, use the following code:\n\n```ts\nimport { TatumSDK, Network, Ethereum, NftAddressBalance } from '@tatumio/tatum'\n\nconst tatum = await TatumSDK.init\u003cEthereum\u003e({ network: Network.ETHEREUM })\n\nconst balances: NftAddressBalance[] = await tatum.nft.getBalance({\n  addresses: ['0x53e8577c4347c365e4e0da5b57a589cb6f2ab849'],\n})\n\nconsole.log(balances)\n\n// Destroy Tatum SDK - needed for stopping background jobs\nawait tatum.destroy()\n```\n\nFor more details, check out the [NFTs documentation](https://docs.tatum.io/docs/nfts).\n\n### Connect to MetaMask and send transaction\n\nUsing TatumSDK, it's possible to connect your browser application to MetaMask and perform transactions using it. To achieve this, use the following code:\n\n```ts\nimport { TatumSDK, Network, Ethereum, MetaMask } from '@tatumio/tatum'\n\nconst tatum = await TatumSDK.init\u003cEthereum\u003e({ network: Network.ETHEREUM })\n\nconst account: string = await tatum.walletProvider.use(MetaMask).getWallet()\nconst txId: string = await tatum.walletProvider\n  .use(MetaMask)\n  .transferNative('0x53e8577C4347C365E4e0DA5B57A589cB6f2AB848', '1')\n\nconsole.log(txId)\n\n// Destroy Tatum SDK - needed for stopping background jobs\nawait tatum.destroy()\n```\n\nFor more details, check out the [Wallet Provider documentation](https://docs.tatum.io/docs/wallet-provider).\n\n### Get exchange rates\n\nUsing TatumSDK, obtain current fiat/crypto exchange rates To achieve this, use the following code:\n\n```ts\nimport { TatumSDK, Network, Ethereum } from '@tatumio/tatum'\n\nconst tatum = await TatumSDK.init\u003cEthereum\u003e({ network: Network.ETHEREUM })\n\nconst res = await tatum.rates.getCurrentRate('BTC', 'EUR')\n\nconsole.log(res.data)\n\n// Destroy Tatum SDK - needed for stopping background jobs\nawait tatum.destroy()\n```\n\nFor more details, check out the [Exchange Rates documentation](https://docs.tatum.io/docs/exchange-rates).\n\n### Get current fees\n\nUsing TatumSDK, you can obtain recommended fee/gas price for a blockchain.\n\n```ts\nimport { TatumSDK, Network, Ethereum } from '@tatumio/tatum'\n\nconst tatum = await TatumSDK.init\u003cEthereum\u003e({\n  network: Network.ETHEREUM_SEPOLIA,\n  verbose: true,\n  retryDelay: 1000,\n  retryCount: 2,\n  version: ApiVersion.V3,\n})\n\nconst result = await tatum.fee.getCurrentFee()\n\nconsole.log(result.data)\n\n// Destroy Tatum SDK - needed for stopping background jobs\nawait tatum.destroy()\n```\n\nFor more details, check out the [Fee Estimation documentation](https://docs.tatum.io/docs/fee-estimation).\n\n### Get token balance\n\nUsing TatumSDK, obtain all fungible token balances of an address by calling the getBalance method within the `token` submodule and passing the target address as an argument. This streamlined process efficiently retrieves all balances for fungible tokens that specified address holds. To achieve this, use the following code:\n\n```ts\nimport { TatumSDK, Network, Ethereum } from '@tatumio/tatum'\n\nconst tatum = await TatumSDK.init\u003cEthereum\u003e({ network: Network.ETHEREUM_SEPOLIA })\n\nconst { data: balances } = await tatum.token.getBalance({\n  addresses: ['0x2cbaf358c0af93096bd820ce57c26f0b7c6ec7ab'],\n})\n\nconsole.log(balances)\n\n// Destroy Tatum SDK - needed for stopping background jobs\nawait tatum.destroy()\n```\n\nFor more details, check out the [Fungible Tokens documentation](https://docs.tatum.io/docs/fungible-tokens).\n\n### Get all transactions on the wallet\n\nUsing TatumSDK, you can obtain transaction history of the wallet.\n\n```ts\nimport { TatumSDK, Network, Ethereum } from '@tatumio/tatum'\n\nconst tatum = await TatumSDK.init\u003cEthereum\u003e({ network: Network.ETHEREUM_SEPOLIA })\n\nconst { data: txs } = await tatum.address.getTransactions({\n  address: '0x514d547c8ac8ccbec29b5144810454bd7d3625ca',\n})\n\nconsole.log(txs)\n\n// Destroy Tatum SDK - needed for stopping background jobs\nawait tatum.destroy()\n```\n\nFor more details, check out the [Wallet address operations documentation](https://docs.tatum.io/docs/wallet-address-operations).\n\n## RPC calls\n\nAll RPC calls are implemented in the `tatum.rpc.*` submodule.\n\nSee the [RPC API Reference](https://docs.tatum.io/docs/rpc-api-reference) for more about supported chains and methods.\n\n### Distinguishing Between Archive and Full Nodes\n\nWhen interacting with the blockchain, it's essential to know whether a JSON RPC call requires an archive node or can be serviced by a full node. The distinction hinges on the type of data requested and the historical depth of that data. Here's a breakdown of the conditions under which a call is classified for an archive or a full node:\n\n#### Archive Node Calls\n\nArchive nodes store the entire history of the blockchain, including the state of all accounts at every block. Calls that require an archive node typically involve querying historical states. Conditions include:\n\n1. **Calls to Methods `getCode` or `call`**: Always require an archive node because they may query the state at any block height.\n\n2. **Calls Including `debug` or `trace` Methods**: These methods require historical data not available on full nodes.\n\n3. **Parameters Indicating a Specific Block Number**: For following methods, if the call specifies a block number, it requires an archive node. This includes:\n\n- `getStorageAt` with a specific block number.\n- `getBalance` with a specific block number.\n- `getBlockByNumber` when a block number is specified.\n- `getLogs` calls where `fromBlock` or `toBlock` specify a block number other than the latest.\n\n#### Full Node Calls\n\nAny other calls not meeting the conditions for archive node calls can be serviced by a full node. These calls typically involve querying the current state of the blockchain.\n\n### Status Pages\n\nThis section provides a list of various blockchain network status pages, powered by Tatum. These links direct you to real-time status updates for each network.\n\n| Status Pages                                                                                                 |\n|--------------------------------------------------------------------------------------------------------------|\n| [bitcoin-mainnet.status.tatum.io](https://bitcoin-mainnet.status.tatum.io)                                   |\n| [bitcoin-testnet.status.tatum.io](https://bitcoin-testnet.status.tatum.io)                                   |\n| [bitcoin-testnet4.status.tatum.io](https://bitcoin-testnet4.status.tatum.io)                                   |\n| [dogecoin-mainnet.status.tatum.io](https://dogecoin-mainnet.status.tatum.io)                                 |\n| [dogecoin-testnet.status.tatum.io](https://dogecoin-testnet.status.tatum.io)                                 |\n| [eos-mainnet-archive.status.tatum.io](https://eos-mainnet-archive.status.tatum.io)                           |\n| [ethereum-mainnet-archive.status.tatum.io](https://ethereum-mainnet-archive.status.tatum.io)                 |\n| [ethereum-mainnet.status.tatum.io](https://ethereum-mainnet.status.tatum.io)                                 |\n| [ethereum-sepolia-archive.status.tatum.io](https://ethereum-sepolia-archive.status.tatum.io)                 |\n| [ethereum-holesky-archive.status.tatum.io](https://ethereum-holesky-archive.status.tatum.io)                 |\n| [ethereum-sepolia.status.tatum.io](https://ethereum-sepolia.status.tatum.io)                                 |\n| [flare-coston-archive.status.tatum.io](https://flare-coston-archive.status.tatum.io)                         |\n| [flare-coston2-archive.status.tatum.io](https://flare-coston2-archive.status.tatum.io)                       |\n| [flare-songbird-archive.status.tatum.io](https://flare-songbird-archive.status.tatum.io)                     |\n| [flare-mainnet-archive.status.tatum.io](https://flare-mainnet-archive.status.tatum.io)                       |\n| [haqq-mainnet-archive.status.tatum.io](https://haqq-mainnet-archive.status.tatum.io)                         |\n| [haqq-mainnet.status.tatum.io](https://haqq-mainnet.status.tatum.io)                                         |\n| [haqq-testnet.status.tatum.io](https://haqq-testnet.status.tatum.io)                                         |\n| [chiliz-mainnet.status.tatum.io](https://chiliz-mainnet.status.tatum.io)                                     |\n| [chiliz-mainnet-archive.status.tatum.io](https://chiliz-mainnet-archive.status.tatum.io)                     |\n| [litecoin-mainnet.status.tatum.io](https://litecoin-mainnet.status.tatum.io)                                 |\n| [litecoin-testnet.status.tatum.io](https://litecoin-testnet.status.tatum.io)                                 |\n| [optimism-mainnet-archive.status.tatum.io](https://optimism-mainnet-archive.status.tatum.io)                 |\n| [polygon-mainnet-archive.status.tatum.io](https://polygon-mainnet-archive.status.tatum.io)                   |\n| [polygon-mainnet.status.tatum.io](https://polygon-mainnet.status.tatum.io)                                   |\n| [horizen-eon-mainnet-archive.status.tatum.io](https://horizen-eon-mainnet-archive.status.tatum.io)           |\n| [horizen-eon-gobi.status.tatum.io](https://horizen-eon-gobi.status.tatum.io)                                 |\n| [bsc-mainnet-archive.status.tatum.io](https://bsc-mainnet-archive.status.tatum.io)                           |\n| [polygon-amoy-archive.status.tatum.io](https://polygon-amoy-archive.status.tatum.io)                         |\n| [polygon-amoy.status.tatum.io](https://polygon-amoy.status.tatum.io)                                         |\n| [tron-mainnet-archive.status.tatum.io](https://tron-mainnet-archive.status.tatum.io)                         |\n| [arbitrum-one-mainnet-archive.status.tatum.io](https://arbitrum-one-mainnet-archive.status.tatum.io)         |\n| [ethereum-classic-mainnet-archive.status.tatum.io](https://ethereum-classic-mainnet-archive.status.tatum.io) |\n| [zcash-mainnet.status.tatum.io](https://zcash-mainnet.status.tatum.io)                                       |\n| [ripple-mainnet.status.tatum.io](https://ripple-mainnet.status.tatum.io)                                     |\n| [ripple-testnet.status.tatum.io](https://ripple-testnet.status.tatum.io)                                     |\n| [bitcoin-cash-mainnet.status.tatum.io](https://bitcoin-cash-mainnet.status.tatum.io)                         |\n| [klaytn-mainnet.status.tatum.io](https://klaytn-mainnet.status.tatum.io)                                     |\n| [klaytn-mainnet-archive.status.tatum.io](https://klaytn-mainnet-archive.status.tatum.io)                     |\n| [klaytn-baobab.status.tatum.io](https://klaytn-baobab.status.tatum.io)                                       |\n| [klaytn-baobab-archive.status.tatum.io](https://klaytn-baobab-archive.status.tatum.io)                       |\n| [avalanche-c-mainnet-archive.status.tatum.io](https://avalanche-c-mainnet-archive.status.tatum.io)           |\n| [solana-mainnet.status.tatum.io](https://solana-mainnet.status.tatum.io)                                     |\n| [solana-devnet.status.tatum.io](https://solana-devnet.status.tatum.io)                                       |\n| [celo-mainnet-archive.status.tatum.io](https://celo-mainnet-archive.status.tatum.io)                         |\n| [celo-testnet-archive.status.tatum.io](https://celo-testnet-archive.status.tatum.io)                         |\n| [tezos-testnet.status.tatum.io](https://tezos-testnet.status.tatum.io)                                       |\n| [tezos-mainnet.status.tatum.io](https://tezos-mainnet.status.tatum.io)                                       |\n| [algorand-mainnet-algod.status.tatum.io](https://algorand-mainnet-algod.status.tatum.io)                     |\n| [algorand-testnet-algod.status.tatum.io](https://algorand-testnet-algod.status.tatum.io)                     |\n| [algorand-mainnet-indexer.status.tatum.io](https://algorand-mainnet-indexer.status.tatum.io)                 |\n| [algorand-testnet-indexer.status.tatum.io](https://algorand-testnet-indexer.status.tatum.io)                 |\n| [cardano-mainnet.status.tatum.io](https://cardano-mainnet.status.tatum.io)                                   |\n| [cardano-preprod.status.tatum.io](https://cardano-preprod.status.tatum.io)                                   |\n| [xinfin-mainnet-archive.status.tatum.io](https://xinfin-mainnet-archive.status.tatum.io)                     |\n| [stellar-mainnet-archive.status.tatum.io](https://stellar-mainnet-archive.status.tatum.io)                   |\n| [base-mainnet-archive.status.tatum.io](https://base-mainnet-archive.status.tatum.io)                         |\n| [kadena-mainnet.status.tatum.io](https://kadena-mainnet.status.tatum.io)                                     |\n| [kadena-testnet.status.tatum.io](https://kadena-testnet.status.tatum.io)                                     |\n| [rostrum-mainnet.status.tatum.io](https://rostrum-mainnet.status.tatum.io)                                   |\n| [cronos-mainnet-archive.status.tatum.io](https://cronos-mainnet-archive.status.tatum.io)                     |\n| [fantom-mainnet-archive.status.tatum.io](https://fantom-mainnet-archive.status.tatum.io)                     |\n| [iota-mainnet.status.tatum.io](https://iota-mainnet.status.tatum.io)                                         |\n\n### Load Balancer\n\nLoad balancer is used managing RPC calls to nodes in a blockchain network.\nIt maintains a list of available nodes and their status, and it automatically selects the most responsive node for subsequent RPC calls.\n\n\u003e **_For use of the Load Balancer, you don't need to know how it is working!._** Load Balancer works automatically in the background and selects the most responsive node for subsequent RPC calls. You can use the SDK without any knowledge of the Load Balancer.\n\nLoad Balancer implementation is available in [LoadBalancerRpc.ts](https://github.com/tatumio/tatum-js/blob/master/src/service/rpc/generic/LoadBalancerRpc.ts)\n\nUsing a load balancer to distribute traffic across multiple nodes, as opposed to routing all traffic to a single node, has several advantages:\n\n- **Improved Performance and Responsiveness:** Load balancers can distribute network or application traffic across several servers, which can help prevent any single server from becoming a bottleneck. As a result, users often experience faster response times.\n\n- **Scalability:** Load balancers enable you to handle larger amounts of traffic by simply adding more servers to the pool. This makes it easier to scale your infrastructure as your needs grow.\n\n- **Redundancy and High Availability:** If a server goes down, a load balancer can automatically reroute traffic to the remaining online servers. This ensures that your service remains available even in the face of hardware failures or other issues.\n\n- **Prevents Overloading of Nodes:** Load balancers can prevent any single server from being overloaded with too many requests, which can degrade the performance of the server and impact user experience.\n\n- **Efficient Use of Resources:** By distributing the load, you can make sure that all your servers are being used efficiently, rather than having some servers idle while others are overloaded.\n\n- **Flexibility and Maintenance:** With a load balancer, you can take servers offline for maintenance without disrupting service. The load balancer will simply stop sending traffic to the offline server.\n\n- **Better User Experience:** Ultimately, all of these benefits can lead to a better user experience, with faster response times and higher availability of services.\n\n#### Initialization\n\nAt start the Load Balancer is initialized with a list of nodes. List of nodes are dynamically fetched from the remote server.\nThere is also option to pass your custom list of nodes instead of the dynamic list.\nFrom the list of the nodes is randomly selected one node as a primary node, which is kept as a primary node until first load balancing is performed.\nThe Load Balancer maintain lists of two types of nodes, normal and archive nodes.\n\n#### Load Balancing\n\nThe load balancing process is running in the background and every minute it checks the status of all nodes in the list.\nThe status of each node is determined by making a request to the node's URL and checking the response.\nThe fastest responding node in each category is then selected as the active node for that normal and archive category.\nThe selected nodes are then used for subsequent RPC calls.\n\n#### Error Handling\n\nIf a RPC call fails, failure is logged, and the current active node is marked as failed, and load balancer selects a new active node.\n\n#### Destroy\n\nWhen you need to stop load balancer, you should can call `destroy` method. This method stops the load balancing process on the background.\n\n#### List of nodes\n\nThe list of nodes is dynamically fetched from the remote server and it is defined for every blockchain.\n\nHere are the list of nodes for each blockchain:\n\n| Nodes List                                                                                                               |\n|--------------------------------------------------------------------------------------------------------------------------|\n| [rpc.tatum.io/bitcoin-mainnet/list.json](https://rpc.tatum.io/bitcoin-mainnet/list.json)                                 |\n| [rpc.tatum.io/bitcoin-testnet/list.json](https://rpc.tatum.io/bitcoin-testnet/list.json)                                 |\n| [rpc.tatum.io/dogecoin-mainnet/list.json](https://rpc.tatum.io/dogecoin-mainnet/list.json)                               |\n| [rpc.tatum.io/dogecoin-testnet/list.json](https://rpc.tatum.io/dogecoin-testnet/list.json)                               |\n| [rpc.tatum.io/eos-mainnet-archive/list.json](https://rpc.tatum.io/eos-mainnet-archive/list.json)                         |\n| [rpc.tatum.io/ethereum-mainnet-archive/list.json](https://rpc.tatum.io/ethereum-mainnet-archive/list.json)               |\n| [rpc.tatum.io/ethereum-mainnet/list.json](https://rpc.tatum.io/ethereum-mainnet/list.json)                               |\n| [rpc.tatum.io/ethereum-sepolia-archive/list.json](https://rpc.tatum.io/ethereum-sepolia-archive/list.json)               |\n| [rpc.tatum.io/ethereum-holesky-archive/list.json](https://rpc.tatum.io/ethereum-holesky-archive/list.json)               |\n| [rpc.tatum.io/ethereum-sepolia/list.json](https://rpc.tatum.io/ethereum-sepolia/list.json)                               |\n| [rpc.tatum.io/flare-coston-archive/list.json](https://rpc.tatum.io/flare-coston-archive/list.json)                       |\n| [rpc.tatum.io/flare-coston2-archive/list.json](https://rpc.tatum.io/flare-coston2-archive/list.json)                     |\n| [rpc.tatum.io/flare-mainnet-archive/list.json](https://rpc.tatum.io/flare-mainnet-archive/list.json)                     |\n| [rpc.tatum.io/flare-songbird-archive/list.json](https://rpc.tatum.io/flare-songbird-archive/list.json)                   |\n| [rpc.tatum.io/haqq-mainnet-archive/list.json](https://rpc.tatum.io/haqq-mainnet-archive/list.json)                       |\n| [rpc.tatum.io/haqq-mainnet/list.json](https://rpc.tatum.io/haqq-mainnet/list.json)                                       |\n| [rpc.tatum.io/haqq-testnet/list.json](https://rpc.tatum.io/haqq-testnet/list.json)                                       |\n| [rpc.tatum.io/chiliz-mainnet/list.json](https://rpc.tatum.io/chiliz-mainnet/list.json)                                   |\n| [rpc.tatum.io/chiliz-mainnet-archive/list.json](https://rpc.tatum.io/chiliz-mainnet-archive/list.json)                   |\n| [rpc.tatum.io/litecoin-mainnet/list.json](https://rpc.tatum.io/litecoin-mainnet/list.json)                               |\n| [rpc.tatum.io/litecoin-testnet/list.json](https://rpc.tatum.io/litecoin-testnet/list.json)                               |\n| [rpc.tatum.io/optimism-mainnet-archive/list.json](https://rpc.tatum.io/optimism-mainnet-archive/list.json)               |\n| [rpc.tatum.io/polygon-mainnet-archive/list.json](https://rpc.tatum.io/polygon-mainnet-archive/list.json)                 |\n| [rpc.tatum.io/polygon-mainnet/list.json](https://rpc.tatum.io/polygon-mainnet/list.json)                                 |\n| [rpc.tatum.io/horizen-eon-mainnet-archive/list.json](https://rpc.tatum.io/horizen-eon-mainnet-archive/list.json)         |\n| [rpc.tatum.io/horizen-eon-gobi/list.json](https://rpc.tatum.io/horizen-eon-gobi/list.json)                               |\n| [rpc.tatum.io/bsc-mainnet-archive/list.json](https://rpc.tatum.io/bsc-mainnet-archive/list.json)                         |\n| [rpc.tatum.io/polygon-amoy-archive/list.json](https://rpc.tatum.io/polygon-amoy-archive/list.json)                   |\n| [rpc.tatum.io/polygon-amoy/list.json](https://rpc.tatum.io/polygon-amoy/list.json)                                     |\n| [rpc.tatum.io/tron-mainnet-archive/list.json](https://rpc.tatum.io/tron-mainnet-archive/list.json)                       |\n| [rpc.tatum.io/arbitrum-one-mainnet-archive/list.json](https://rpc.tatum.io/arbitrum-one-mainnet-archive/list.json)       |\n| [rpc.tatum.io/ethereum-classic-mainnet-archive/list.json](https://rpc.tatum.io/ethereum-classic-mainnet-archive/list.json) |\n| [rpc.tatum.io/zcash-mainnet/list.json](https://rpc.tatum.io/zcash-mainnet/list.json)                                     |\n| [rpc.tatum.io/ripple-mainnet/list.json](https://rpc.tatum.io/ripple-mainnet/list.json)                                   |\n| [rpc.tatum.io/ripple-testnet/list.json](https://rpc.tatum.io/ripple-testnet/list.json)                                   |\n| [rpc.tatum.io/klaytn-mainnet/list.json](https://rpc.tatum.io/klaytn-mainnet/list.json)                                   |\n| [rpc.tatum.io/klaytn-mainnet-archive/list.json](https://rpc.tatum.io/klaytn-mainnet-archive/list.json)                   |\n| [rpc.tatum.io/klaytn-baobab/list.json](https://rpc.tatum.io/klaytn-baobab/list.json)                                     |\n| [rpc.tatum.io/klaytn-baobab-archive/list.json](https://rpc.tatum.io/klaytn-baobab-archive/list.json)                     |\n| [rpc.tatum.io/bitcoin-cash-mainnet/list.json](https://rpc.tatum.io/bitcoin-cash-mainnet/list.json)                       |\n| [rpc.tatum.io/avalanche-c-mainnet-archive/list.json](https://rpc.tatum.io/avalanche-c-mainnet-archive/list.json)         |\n| [rpc.tatum.io/solana-mainnet/list.json](https://rpc.tatum.io/solana-mainnet/list.json)                                   |\n| [rpc.tatum.io/solana-devnet/list.json](https://rpc.tatum.io/solana-devnet/list.json)                                     |\n| [rpc.tatum.io/celo-mainnet-archive/list.json](https://rpc.tatum.io/celo-mainnet-archive/list.json)                       |\n| [rpc.tatum.io/celo-testnet-archive/list.json](https://rpc.tatum.io/celo-testnet-archive/list.json)                       |\n| [rpc.tatum.io/tezos-testnet/list.json](https://rpc.tatum.io/tezos-testnet/list.json)                                     |\n| [rpc.tatum.io/tezos-mainnet/list.json](https://rpc.tatum.io/tezos-mainnet/list.json)                                     |\n| [rpc.tatum.io/algorand-mainnet-algod/list.json](https://rpc.tatum.io/algorand-mainnet-algod/list.json)                   |\n| [rpc.tatum.io/algorand-testnet-algod/list.json](https://rpc.tatum.io/algorand-testnet-algod/list.json)                   |\n| [rpc.tatum.io/algorand-mainnet-indexer/list.json](https://rpc.tatum.io/algorand-mainnet-indexer/list.json)               |\n| [rpc.tatum.io/algorand-testnet-indexer/list.json](https://rpc.tatum.io/algorand-testnet-indexer/list.json)               |\n| [rpc.tatum.io/cardano-mainnet/list.json](https://rpc.tatum.io/cardano-mainnet/list.json)                                 |\n| [rpc.tatum.io/cardano-preprod/list.json](https://rpc.tatum.io/cardano-preprod/list.json)                                 |\n| [rpc.tatum.io/xinfin-mainnet-archive/list.json](https://rpc.tatum.io/xinfin-mainnet-archive/list.json)                   |\n| [rpc.tatum.io/stellar-mainnet-archive/list.json](https://rpc.tatum.io/stellar-mainnet-archive/list.json)                 |\n| [rpc.tatum.io/base-mainnet-archive/list.json](https://rpc.tatum.io/base-mainnet-archive/list.json)                       |\n| [rpc.tatum.io/kadena-mainnet/list.json](https://rpc.tatum.io/kadena-mainnet/list.json)                                   |\n| [rpc.tatum.io/kadena-testnet/list.json](https://rpc.tatum.io/kadena-testnet/list.json)                                   |\n| [rpc.tatum.io/rostrum-mainnet/list.json](https://rpc.tatum.io/rostrum-mainnet/list.json)                                 |\n| [rpc.tatum.io/cronos-mainnet-archive/list.json](https://rpc.tatum.io/cronos-mainnet-archive/list.json)                   |\n| [rpc.tatum.io/fantom-mainnet-archive/list.json](https://rpc.tatum.io/fantom-mainnet-archive/list.json)                   |\n| [rpc.tatum.io/iota-mainnet/list.json](https://rpc.tatum.io/iota-mainnet/list.json)                                       |\n\nFollowing pattern defines the URL for fetching the list of nodes:\n\n```\nhttps://rpc.tatum.io/${network}/list.json\n```\n\nNetworks enum is available in the [Network.ts](https://github.com/tatumio/tatum-js/blob/master/src/dto/Network.ts)\n\nFor instance if we will need Bitcoin mainnet nodes, we will use this URL:\n\n```\ncurl https://rpc.tatum.io/bitcoin-mainnet/list.json\n```\n\nThe response is a list of nodes with their url, type (0 - normal, 1 - archive) and location.\n\n```json\n[\n  {\n    \"location\": \"Sydney\",\n    \"type\": 0,\n    \"url\": \"https://02-sydney-007-01.rpc.tatum.io/\"\n  },\n  {\n    \"location\": \"Tokyo\",\n    \"type\": 0,\n    \"url\": \"https://02-tokyo-007-02.rpc.tatum.io/\"\n  },\n  {\n    \"location\": \"Dallas\",\n    \"type\": 0,\n    \"url\": \"https://02-dallas-007-03.rpc.tatum.io/\"\n  },\n  {\n    \"location\": \"Sao Paulo\",\n    \"type\": 0,\n    \"url\": \"https://02-saopaulo-007-04.rpc.tatum.io/\"\n  },\n  {\n    \"location\": \"Warsaw\",\n    \"type\": 0,\n    \"url\": \"https://01-warsaw-007-05.rpc.tatum.io/\"\n  }\n]\n```\n\nLoad Balancer selects from this list the most responsive node.\n\n### Usage\n\n#### Default config\n\n```typescript\nconst tatum = await TatumSDK.init\u003cEthereum\u003e({ network: Network.ETHEREUM })\nconst info = await tatum.rpc.chainId()\ntatum.rpc.destroy()\n```\n\n#### Custom RPC node list\n\n```typescript\nconst tatum = await TatumSDK.init\u003cEthereum\u003e({\n  network: Network.ETHEREUM,\n  rpc: {\n    nodes: [\n      {\n        url: 'https://api.tatum.io/v3/blockchain/node/ethereum-mainnet',\n        type: RpcNodeType.NORMAL,\n      },\n    ],\n    allowedBlocksBehind: 20,\n    oneTimeLoadBalancing: false,\n  },\n})\nconst info = await tatum.rpc.chainId()\ntatum.rpc.destroy()\n```\n\n## Documentation\n\n- [Documentation and Guides](https://docs.tatum.io) to get started with Tatum SDK\n- [Documentation section](https://github.com/tatumio/tatum-js/tree/master/docs) for more details.\n\n## Examples\n\nExplore various applications that utilize the Tatum SDK. These examples help illustrate the SDK's functionality and offer a starting point for developers looking to integrate similar features into their applications.\n\n![Metamask notifications](https://github.com/tatumio/example-apps/blob/master/Metamask/notifications/public/demo.png)\n\n- [Metamask notifications](https://github.com/tatumio/example-apps/tree/master/Metamask/notifications)\n- [Metamask portfolio](https://github.com/tatumio/example-apps/tree/master/Metamask/portfolio)\n- [Metamask transfer](https://github.com/tatumio/example-apps/tree/master/Metamask/transfer)\n\n## 🌐 Extension Ecosystem\n\n### Quickstart\n\nImport any Tatum SDK extension to your project and start using it right away.\n\n```typescript\nimport { TatumSDK, Ethereum, Network, ApiVersion } from '@tatumio/tatum'\nimport { HelloWorldExtension } from '@tatumio/hello-world'\n\nconst tatumSdk = await TatumSDK.init\u003cEthereum\u003e({\n  network: Network.ETHEREUM_SEPOLIA,\n  configureExtensions: [HelloWorldExtension],\n})\n```\n\nAfter that you can use the extension in your code with full intellisense.\n\n```typescript\nawait tatumSdk.extension(HelloWorldExtension).sayHello()\n```\n\n### Wallet Providers\n\nTatum SDK supports wallet provider extensions for various wallets. You can use them to integrate your application with the wallet of your choice.\n\n```typescript\nimport { TatumSDK, Ethereum, Network, ApiVersion } from '@tatumio/tatum'\nimport { EvmWalletProvider } from '@tatumio/evm-wallet-provider'\n\nconst tatumSdk = await TatumSDK.init\u003cEthereum\u003e({\n  network: Network.ETHEREUM_SEPOLIA,\n  configureWalletProviders: [EvmWalletProvider],\n})\n```\n\nUsage for wallet providers is similar to the extensions.\n\n```typescript\nawait tatumSdk.walletProvider.use(EvmWalletProvider).getWallet()\n```\n\n🔍 Check out our [built-in MetaMask wallet provider](./src/service/walletProvider/metaMask/metamask.wallet.provider.ts)\n\n📚 **Learn more about Tatum SDK Extension ecosystem here - [Tatum SDK Extensions](https://github.com/tatumio/ecosystem-addons)**\n\n## Legacy versions\n\nOlder versions of the Tatum SDK has been moved to long living branches [`Tatum SDK V1`](https://github.com/tatumio/tatum-js/tree/v1) and [`Tatum SDK V2`](https://github.com/tatumio/tatum-js/tree/v2).\n\n## 🤝 Contributing\n\nWe appreciate your interest in contributing to the Tatum SDK. Here's a guide to help you make meaningful contributions:\n\n### Local Testing\n\nBefore making a pull request, ensure you've thoroughly tested your changes with a local client.\n\n### Unit Tests\n\nInclude unit test coverage for any new code you're adding. This helps in maintaining the quality and reliability of our SDK.\n\n### Update the Changelog\n\nFor every contribution, it's essential to document your changes in the changelog. The changelog keeps track of all the changes, updates, and fixes we make to our SDK. Use the provided format:\n\n```markdown\n## [Version Number] - YYYY.MM.DD\n\n### Added/Updated/Fixed/Changed\n\n- Description of the change\n```\n\nFor instance:\n\n```markdown\n## [3.0.10] - 2023.08.11\n\n### Added\n\n- New feature XYZ\n```\n\n### Update `package.json`\n\nBefore creating a pull request or releasing a new version, ensure the `version` in `package.json` is updated to reflect the new release number.\n\n### Release Consideration\n\nYour changes will be released after merging the pull request.\n\n### How to add support for new RPC chain\n\n- Add new chain to the [Network.ts](./src/dto/Network.ts) enum (Check also LOAD_BALANCER_NETWORKS constants)\n- Add new class to the [tatum.ts](./src/service/tatum/tatum.ts) file\n- Add new chain getClient method in the [Utils.ts](./src/util/util.shared.ts) file\n- Add new chain CURRENCY_NAMES and DECIMALS constants in the [constants.ts](./src/util/constant.ts) file\n- Update README.md with new chain for status page and list.json\n- Add E2E test\n\n---\n\n🙌 Thank you for helping make Tatum SDK better! Your contributions play a crucial role in its continuous improvement and growth.\n\n### Bugs and feature requests\n\nHave a bug or a feature request? Please first read the issue guidelines and search for existing and closed issues. If your problem or idea is not addressed yet, please open a [new issue](https://github.com/tatumio/tatum-js/issues/new/choose).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftatumio%2Ftatum-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftatumio%2Ftatum-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftatumio%2Ftatum-js/lists"}