# Tatum Developer Documentation Documentation ## Guides - [GP - Error invalid BigNumber string](https://docs.tatum.io/docs/gp-error-invalid-bignumber-string.md) - [GP - Setting Up Gas Pump from A to Z](https://docs.tatum.io/docs/gp-setting-up-gas-pump.md) - [GP - Transferring out from a Gas Pump Address](https://docs.tatum.io/docs/gp-transfer-out-from-a-slave-gp-contract-address.md) - [GP - Use Case and Functionalities](https://docs.tatum.io/docs/gp-use-case-and-functionalities.md) - [Gas Pump](https://docs.tatum.io/docs/gas-pump-guide.md) - [KMS](https://docs.tatum.io/docs/tatum-key-management-system-kms.md): Tatum Key Management System (KMS): Secure Blockchain Custodial Solutions - manage and automate blockchain credentials with enhanced safety and efficiency. - [Download, Install, Setup & Run KMS](https://docs.tatum.io/docs/kms-download-and-install-steps.md) - [KMS General FAQ](https://docs.tatum.io/docs/kms-general-faq.md) - [Bitcoin Flow from A to Z (KMS)](https://docs.tatum.io/docs/kms-btc-flow-from-a-to-z.md) - [Checking Pending Transactions](https://docs.tatum.io/docs/kms-checking-pending-transactions.md): Checking Pending Transactions for KMS - [KMS Environment Variables](https://docs.tatum.io/docs/kms-environment-variables.md): KMS - Environment Variables - [Solana and Generating Addresses (KMS)](https://docs.tatum.io/docs/kms-solana-and-generating-addresses.md) - [KMS Security Basics](https://docs.tatum.io/docs/kms-security-basics.md) - [Use Case and Functionalities](https://docs.tatum.io/docs/kms-use-case-and-functionalities.md): KMS Use Case and Functionalities - [Monitoring Broadcasted Transactions with KMS](https://docs.tatum.io/docs/monitoring-broadcasted-transactions-with-kms.md) - [🧾 Transaction Simulator](https://docs.tatum.io/docs/transaction-simulator.md): Transaction Simulator integrates seamlessly with Tatum SDK to provide transaction simulation capabilities for EVM-based blockchains. - [Simulate Transfer Erc20](https://docs.tatum.io/docs/simulate-transfer-erc20.md) - [Simulate Transfer](https://docs.tatum.io/docs/simulate-transfer.md): This function helps you to simulate a native transfer by passing a payload to the function simulateTransfer of the extension '@tatumio/transaction-simulator' - [Creating End User Accounts](https://docs.tatum.io/docs/creating-accounts.md) - [Adding FIAT Currencies](https://docs.tatum.io/docs/va-adding-fiat-currencies.md) - [Creating End User Accounts: Gas Pump (EVM)](https://docs.tatum.io/docs/va-creating-end-user-accounts-gas-pump.md) - [Creating End User Accounts: Introduction](https://docs.tatum.io/docs/va-creating-end-user-accounts-introduction.md) - [Creating End User Accounts: EVM (like Ethereum)](https://docs.tatum.io/docs/va-creating-user-accounts-evm.md) - [Creating End User Accounts: UTXO (like Bitcoin)](https://docs.tatum.io/docs/va-creating-user-accounts-utxo.md) - [Creating End User Accounts: XRP and XLM](https://docs.tatum.io/docs/va-creating-user-accounts-xrp-xlm.md) - [End User Journey and QoL Endpoints](https://docs.tatum.io/docs/end-user-journey-and-qol-endpoints.md) - [Block and Unblock Funds from an Account](https://docs.tatum.io/docs/va-block-unblock-funds-from-an-account.md): Block and Unblock Funds from a Virtual Account - [Deleting Unused Virtual Accounts](https://docs.tatum.io/docs/va-deleting-unused-virtual-accounts.md) - [End User Journey](https://docs.tatum.io/docs/va-end-user-journey.md): End User Journey with Virtual Accounts - [Retrieve Account Details and Balances](https://docs.tatum.io/docs/va-list-accounts-details-and-balances.md): Retrieve Account Details and Balances from Virtual Accounts - [Retrieve Transactions and Withdrawals](https://docs.tatum.io/docs/va-retrieve-transaction-details-from-an-account.md): Retrieve Transactions and Withdrawals from Virtual Accounts - [Find all Deposits from a Virtual Account](https://docs.tatum.io/docs/find-all-deposits-from-a-virtual-account.md) - [Generating a Deposit Address: Introduction](https://docs.tatum.io/docs/generating-a-deposit-address.md): How to Generate Deposit Addresses in a Virtual Account - [Deposit Addresses](https://docs.tatum.io/docs/handling-deposit-addresses.md) - [Assign an external Address as a Deposit Address](https://docs.tatum.io/docs/va-adding-an-external-address-as-deposit-address.md): Assign an external address as a deposit address into a Virtual Account - [Find all Deposit Addresses within an Account](https://docs.tatum.io/docs/va-find-all-deposit-addresses.md): Find all deposit addresses within a Virtual Account - [Handling Gas Pump](https://docs.tatum.io/docs/handling-gas-pump.md) - [Assign an Gas Pump Address as a Deposit Address](https://docs.tatum.io/docs/va-assign-gp-address.md): Assign an Gas Pump Address as a Virtual Account Deposit Address - [Withdrawing From a Gas Pump Address](https://docs.tatum.io/docs/va-withdrawing-from-a-gas-pump-address.md): Withdrawing From a Gas Pump Address assigned as a Virtual Account Deposit Address - [Adding more tokens to the VA ledger](https://docs.tatum.io/docs/adding-more-tokens.md) - [Handling Tokens (EVM)](https://docs.tatum.io/docs/handling-tokens.md) - [MATIC_ETH to POL_ETH Migration](https://docs.tatum.io/docs/matic_eth-to-pol_eth-migration.md) - [Supported tokens (default)](https://docs.tatum.io/docs/supported-tokens-by-default.md) - [Handling Trading (Order Book)](https://docs.tatum.io/docs/handling-trading-order-book.md) - [Introducing Trading (1/4)](https://docs.tatum.io/docs/va-introducing-trading.md): Introducing Trading with Virtual Accounts - [Listing Closed Trades (4/4)](https://docs.tatum.io/docs/va-listing-closed-trades.md): Listing Closed Trades with Virtual Accounts - [Listing Open Trades (3/4)](https://docs.tatum.io/docs/va-listing-open-trades.md): Listing Open Trades with Virtual Accounts - [Opening a new Trade (2/4)](https://docs.tatum.io/docs/va-opening-a-new-trade.md): Opening a new Trade with Virtual Accounts - [Order Book: Future Trade and sealDate](https://docs.tatum.io/docs/va-order-book-future-trade-and-sealdate.md): Order Book: Future Trade and sealDate with Virtual Accounts - [Handling Transactions across Accounts (off-chain)](https://docs.tatum.io/docs/handling-transactions-off-chain.md) - [Retrieve a Payment Log](https://docs.tatum.io/docs/va-retrieve-a-payment-log.md): Retrieve a Payment Log from Virtual Accounts - [Send a Payment across Accounts (off-chain)](https://docs.tatum.io/docs/va-send-payment-off-chain.md): Send a Payment across Virtual Accounts - [Handling Withdrawals (on-chain)](https://docs.tatum.io/docs/handling-withdrawals.md) - [On chain Asset Management and Withdrawals](https://docs.tatum.io/docs/on-chain-balance-management-and-withdrawals.md): On chain Asset Management and Withdrawals with Virtual Accounts - [Manually Handling Withdrawals in Virtual Accounts (VA)](https://docs.tatum.io/docs/va-creating-a-manual-withdrawal.md): Creating a Manual Virtual Account Withdrawal - [Delete Withdrawals in the VA Ledger](https://docs.tatum.io/docs/va-deleting-withdrawals.md) - [Withdrawing From a Deposit Address](https://docs.tatum.io/docs/va-withdrawing-from-a-deposit-address.md): Withdrawing From a Virtual Account Deposit Address - [Withdrawing From a Master Exchange Address](https://docs.tatum.io/docs/withdrawing-assets-from-a-master-exchange-address.md): Withdrawing From a Virtual Account Master Exchange Address - [Withdrawing Assets: Introduction](https://docs.tatum.io/docs/withdrawing-assets-from-virtual-accounts.md) - [Virtual Accounts](https://docs.tatum.io/docs/virtual-accounts.md) - [General Use Case](https://docs.tatum.io/docs/va-general-use-case.md) - [Notifications and Virtual Accounts](https://docs.tatum.io/docs/va-notifications.md) - [Setting up an Exchange or Application](https://docs.tatum.io/docs/va-setting-up-your-exchange-or-application.md) - [Virtual Accounts FAQ](https://docs.tatum.io/docs/va-virtual-accounts-faq.md) - [Security Basics and Virtual Accounts](https://docs.tatum.io/docs/virtual-accounts-security.md) - [Data APIs](https://docs.tatum.io/docs/blockchain-data.md) - [Wallet Identification](https://docs.tatum.io/docs/get-all-assets-the-wallet-holds.md): This guide helps you to understand what a Domain is in web3 wallet terms and how to resolve them. - [Wallet History](https://docs.tatum.io/docs/get-all-fungible-tokens-the-wallet-holds.md): This function helps you to fetch all the fungible tokens a wallet holds, all you have to do is pass the address to the function parameter and chain while initialising the SDK. - [Wallet Asset Tracking](https://docs.tatum.io/docs/get-all-transactions-on-the-wallet.md): This guide talks about what are different token types and how to track the balances for those for a wallet. - [Portfolio Apps](https://docs.tatum.io/docs/data-insights.md): Portfolio apps make it easy for users to track and manage their digital assets across multiple blockchains in one place. In this guide we will see how you can make a portfolio app or a wallet tracker using Tatum's Data APIs. - [Token Details](https://docs.tatum.io/docs/show-fungible-token-history-of-a-wallet.md): This guide walks you through getting the token details to show in your apps. - [Crypto Heatmaps with Price API](https://docs.tatum.io/docs/crypto-heatmaps-with-prices-apis.md): Fetch absolute and percentage price changes for 439+ crypto trading pairs using custom time ranges or interval-based calculations. - [Exchange Rate by Symbol](https://docs.tatum.io/docs/get-current-exchange-rate-of-the-crypto-asset.md): This endpoint allows you to obtain current exchange rate between fiat/crypto or fiat/fiat. - [Exchange rates for multiple assets](https://docs.tatum.io/docs/get-current-rates-for-multiple-crypto-assets-at-once.md): This endpoint allows you to obtain current exchange rates between fiat/crypto or fiat/fiat. - [Exchange Rate by Contract Address](https://docs.tatum.io/docs/get-exchange-rate-by-contract-address.md): Get the current exchange rate for a token by blockchain and contract address. - [Get Fiat Exchange Rates](https://docs.tatum.io/docs/get-fiat-exchange-rates.md): Get the current exchange rate for exchanging fiat/crypto assets. - [Crypto Prices](https://docs.tatum.io/docs/exchange-rates.md): This helps any web3 app developer to quickly query the exchange rate of a crypto against more than 165 fiat currencies. - [Candle Price Chart with Price API](https://docs.tatum.io/docs/making-price-candle-chart-with-price-apis.md): Access reliable 1-minute cryptocurrency OHLCV data (Open, High, Low, Close, Volume) for 439+ trading pairs via Tatum’s Price Data API. - [Supported Crypto Currencies](https://docs.tatum.io/docs/supported-crypto-currencies.md): This page lists all the cryptocurrencies Tatum supports for the Exchange rate submodule. - [Supported Fiats](https://docs.tatum.io/docs/supported-fiats.md): This page lists all the Fiat currencies Tatum supports for Exchange Rate Submodule. - [BCASH - How Fee Estimate Works](https://docs.tatum.io/docs/bch-fee-estimate.md) - [BTC - Transaction Fee Estimation](https://docs.tatum.io/docs/btc-fee-estimate.md): Learn how to calculate Bitcoin transaction fees: formula, API calls, and examples with satoshis per byte (sat/vB). - [EVM - How Fee Estimate Works](https://docs.tatum.io/docs/evm-how-fee-estimate-works.md) - [JS SDK - Tatum Fee Submodule](https://docs.tatum.io/docs/getcurrentfee.md): This function fetches real-time gas fee data, including slow, medium, and fast fees, based on the most recent recalculation, providing transparency for blockchain transaction cost estimation. - [Fee Estimation](https://docs.tatum.io/docs/fee-estimation.md): Understand and implement blockchain fee & gas estimation on Bitcoin-like UTXO chains and EVM chains. Quick start examples, best practices, and FAQs. - [LTC - How Fee Estimate Works](https://docs.tatum.io/docs/ltc-how-fee-estimate-works.md) - [UTXO - Minimum Relay Fee](https://docs.tatum.io/docs/utxo-minimum-relay-fee.md) - [Check if the wallet owns a specific NFT](https://docs.tatum.io/docs/check-if-the-wallet-owns-a-specific-nft.md): This function checks if a wallet own's any or a specific nft from a collection, you can pass collection address, wallet address & tokenId as an option parameter. - [Get all NFTs in the NFT collection](https://docs.tatum.io/docs/get-all-nfts-in-the-nft-collection.md) - [Get all NFTs the wallet holds](https://docs.tatum.io/docs/get-all-nfts-the-wallet-holds.md): This function helps you to fetch all the NFT's a wallet holds, all you have to do is pass the address to the function parameter and chain while initialising the sdk. - [Get the metadata of a specific NFT](https://docs.tatum.io/docs/get-the-metadata-of-a-specific-nft.md) - [NFTs](https://docs.tatum.io/docs/nfts.md) - [Retrieve the owner of the NFT](https://docs.tatum.io/docs/retrieve-the-owner-of-the-nft.md) - [Show the NFT history of a wallet](https://docs.tatum.io/docs/show-the-nft-history-of-a-wallet.md) - [Trace the history of a specific NFT](https://docs.tatum.io/docs/trace-the-history-of-a-specific-nft.md) - [Stable Coins](https://docs.tatum.io/docs/stable-coins.md): Learn how stablecoins bridge traditional finance and blockchain, with guides for developers, banks, and auditors to integrate, manage, and audit digital stable assets. - [CBDCs & Bank-Issued Stablecoins](https://docs.tatum.io/docs/cbdcs-bank-issued-stablecoins.md): Overview of CBDCs and bank-issued stablecoins, explaining their features, benefits, and practical adoption options for banks. - [Stablecoin for Banks](https://docs.tatum.io/docs/stablecoin-for-banks.md): Overview of how banks can use stablecoins, CBDCs, and private bank tokens for faster, programmable, and compliant financial operations. - [Portfolio & Compliance](https://docs.tatum.io/docs/portfolio-compliance.md): Overview of real-time portfolio tracking, transaction reconciliation, and compliance for banks managing stablecoins and digital assets, with developer tools for easy integration. - [Private & Consortium Bank Stablecoins](https://docs.tatum.io/docs/private-consortium-bank-stablecoins.md): Overview of private and consortium bank stablecoins, highlighting their features, use cases, and benefits for secure, programmable banking operations. - [Stablecoin Integration Overview](https://docs.tatum.io/docs/stablecoin-integration-overview.md): Overview of stablecoin integration for banks and enterprises, highlighting implementation approaches, key considerations, and links to developer guides. - [Algorithmic Stablecoins](https://docs.tatum.io/docs/algorithmic-stablecoins.md): Overview of algorithmic stablecoins, detailing how they use smart contracts and supply-adjustment mechanisms to maintain a peg, with examples, features, use cases, and associated risks. - [Crypto-Backed Stablecoins](https://docs.tatum.io/docs/crypto-backed-stablecoins.md): Overview of stablecoins backed by cryptocurrencies, explaining how they maintain stability with over-collateralization, key features, examples, use cases, and risks. - [Fiat-Backed Stablecoins](https://docs.tatum.io/docs/fiat-backed-stablecoins.md): Fiat-backed stablecoins are digital assets backed 1:1 by fiat reserves, offering stability, liquidity, and simplicity for payments, trading, and treasury operations. - [Stablecoins 101](https://docs.tatum.io/docs/stablecoins-101.md): Stablecoins are cryptocurrencies designed for price stability, bridging traditional finance and blockchain for payments, DeFi, and treasury management. - [Stablecoins for Auditing Firms](https://docs.tatum.io/docs/stablecoins-for-auditing-firms.md): Overview of how auditors can verify, reconcile, and ensure compliance for stablecoin holdings using real-time, transparent blockchain data. - [Portfolio & Compliance for Auditors](https://docs.tatum.io/docs/portfolio-compliance-for-auditors.md): Guide for auditors on tracking, reconciling, and reporting stablecoin and digital asset holdings using real-time portfolio and transaction data. - [Regulatory Reporting](https://docs.tatum.io/docs/regulatory-reporting.md): Guide for auditors on using stablecoins to ensure AML/KYC compliance, accurate financial reporting, and audit-ready cross-border transaction tracking. - [Transaction Monitoring & Reconciliation](https://docs.tatum.io/docs/transaction-monitoring-and-reconciliation.md): Guide for auditors on leveraging stablecoins for real-time transaction monitoring, automated reconciliation, and verifiable audit trails. - [Address Management](https://docs.tatum.io/docs/address-management.md): Guide on generating and managing blockchain addresses for users using Tatum’s HD wallet and address APIs, including multi-chain support, secure key handling, deposit attribution, and best practices for scalable stablecoin integrations. - [Deposit Tracking / Transaction Alerts](https://docs.tatum.io/docs/deposit-tracking-transaction-alerts.md): Overview of Tatum’s Alert & Webhook APIs for real-time monitoring of stablecoin deposits, withdrawals, and on-chain events, including secure webhook handling, event filtering, and automated backend processing. - [Stablecoins for Developers](https://docs.tatum.io/docs/stablecoins-for-developers.md): Overview of stablecoin integration for developers, covering wallet management, real-time deposits, transfers, portfolio tracking, and secure on-chain operations using Tatum APIs. - [Stablecoin Transactions](https://docs.tatum.io/docs/stablecoin-transactions.md): Overview of Tatum’s Transaction APIs for sending, withdrawing, and transferring stablecoins securely, including on-chain execution, offline signing, multi-chain support, and fee estimation. - [Wallet Portfolio & Balance Tracking](https://docs.tatum.io/docs/wallet-portfolio-balance-tracking.md): Overview of Tatum’s Wallet Portfolio APIs, showing how to fetch real-time balances, transaction history, and multi-chain asset data for stablecoins, tokens, and NFTs to power dashboards, compliance, and analytics. - [Asset Aggregation & Portfolio Analysis](https://docs.tatum.io/docs/asset-aggregation-portfolio-analysis.md): Get a complete view of a wallet’s holdings across multiple blockchains. Track fungible tokens, native coins, NFTs, and multi-tokens in one consolidated portfolio using Tatum’s Get Wallet Portfolio endpoint, simplifying auditing, compliance, and investment tracking. - [Fraud Detection & Compliance](https://docs.tatum.io/docs/fraud-detection-compliance.md): Identify risky blockchain addresses before they impact your business. The Check Malicious Address endpoint verifies whether an address is associated with scams, stolen funds, or other fraudulent activity across Ethereum, Bitcoin, Litecoin, Solana, and Tron. - [Trace Source of Funds](https://docs.tatum.io/docs/get-transaction-history-api-guide.md): Quickly track the origin of funds for any wallet across supported blockchains. Identify incoming transactions, token and NFT sources, and counterparties. Filter, sort, and paginate results to analyze wallet activity and generate audit-ready transaction history. - [Historical Balances](https://docs.tatum.io/docs/historical-balances.md): Understanding how wallet balances have changed over time is essential for tax reporting, auditing, and portfolio tracking. - [Tax, Compliance & Auditing](https://docs.tatum.io/docs/tax-compliance-auditing-onchain.md): Blockchain transactions can be complex and pseudonymous, making audits and tax reporting challenging. This guide shows how Tatum Data API endpoints — from transaction history to wallet portfolios and malicious address checks — help trace funds, analyze assets, and ensure compliance efficiently. - [Notifications: Handling Blockchain Re-Orgs](https://docs.tatum.io/docs/handling-re-orgs.md) - [Notifications: Mempool](https://docs.tatum.io/docs/mempool-notifications.md) - [Notifications: Ignoring Multisig Transactions](https://docs.tatum.io/docs/notifications-and-multisig.md) - [Notifications: Bulk Operations](https://docs.tatum.io/docs/notifications-bulk-operations.md): Adding and removing multiple notifications at once. - [Notifications: Pricing](https://docs.tatum.io/docs/notifications-pricing.md) - [Notifications: Understanding "Unknown Error"](https://docs.tatum.io/docs/notifications-understanding-unknown-error.md) - [UTXO - Get Confirmations from a Transaction](https://docs.tatum.io/docs/utxo-get-confirmations-from-a-transaction.md) - [Get all existing monitoring alerts](https://docs.tatum.io/docs/get-all-existing-monitoring-subscriptions.md) - [Get all sent notifications](https://docs.tatum.io/docs/get-all-sent-notifications.md) - [Workflow](https://docs.tatum.io/docs/notification-workflow.md) - [Start monitoring of the address](https://docs.tatum.io/docs/start-monitoring-of-the-address.md) - [Stop monitoring of the address](https://docs.tatum.io/docs/stop-monitoring-of-the-address.md) - [Conditions & Filters](https://docs.tatum.io/docs/notifications-conditions-and-filters.md): Filter webhook notifications using conditions to receive only the events that matter to your application. - [Notifications](https://docs.tatum.io/docs/notifications.md): What is a Notification on a Blockchain? - [Templates](https://docs.tatum.io/docs/templates.md) - [Notifications: Attribute "type" and values](https://docs.tatum.io/docs/notifications-parameter-type-value.md) - [Notifications: Attributes "address" and "counterAddress"](https://docs.tatum.io/docs/notifications-understanding-address-and-counteraddress.md) - [Notifications: Allowed URLs for Webhooks](https://docs.tatum.io/docs/notifications-allowed-urls-for-webhooks.md) - [Authenticating Notification Webhooks](https://docs.tatum.io/docs/authenticating-notification-webhooks.md) - [Notifications: Authenticating with HMAC and Whitelisting IPs](https://docs.tatum.io/docs/notifications-tatum-ips-waf-and-hmac.md) - [Notifications: Stop Notifications](https://docs.tatum.io/docs/stop-notifications.md) - [Notifications: Webhook Retry Sender Service](https://docs.tatum.io/docs/webhook-retry-service.md) - [Developing with Hardhat, Truffle and Foundry](https://docs.tatum.io/docs/developing-with-hardhat-truffle-and-foundry.md) - [Fork or Recompile Tatum Smart Contracts](https://docs.tatum.io/docs/fork-and-recompile-tatum-smart-contracts.md) - [EVM - Create a Fungible Token](https://docs.tatum.io/docs/create-a-fungible-token-erc20.md) - [Get the Token Balance of an address - RPC Call](https://docs.tatum.io/docs/get-balance-of-erc-20-from-address-rpc-call.md) - [Get the Token Balance of an Address (ERC-20 or compatible)](https://docs.tatum.io/docs/get-erc-20-or-compatibletoken-balance.md) - [🪙 Fungible Tokens (ERC-20 and compatible)](https://docs.tatum.io/docs/fungible-tokens-erc20.md) - [Solana - Create a Fungible Token](https://docs.tatum.io/docs/solana-create-a-fungible-token-spl.md) - [Solana - Transferring Tokens](https://docs.tatum.io/docs/solana-transferring-fungible-tokens-spl.md) - [Retrieving Token Decimals (ERC-20 or compatible)](https://docs.tatum.io/docs/token-decimals-erc-20-or-compatible.md) - [TRON - Transferring Fungible Tokens (TRC-10 & TRC-20)](https://docs.tatum.io/docs/transferring-fungible-tokens-trc20.md) - [EVM - Transferring Fungible Tokens](https://docs.tatum.io/docs/transferring-tokens-erc-20.md) - [Get the contractaddress or tokenaddress from a transaction hash](https://docs.tatum.io/docs/getting-the-contractaddress-or-tokenaddress-from-a-transaction-hash.md) - [Smart Contracts](https://docs.tatum.io/docs/smart-contracts.md) - [Invoke method in a Smart Contract](https://docs.tatum.io/docs/invoke-method-in-a-smart-contract.md) - [How to Create MultiToken Collections (SDK)](https://docs.tatum.io/docs/create-multitoken-nft-collection-sdk.md) - [How to Mint Multi Tokens (ERC-1155)](https://docs.tatum.io/docs/how-to-mint-multi-tokens.md) - [How to transfer Multi Tokens](https://docs.tatum.io/docs/how-to-transfer-multi-tokens.md) - [Multi Tokens (ERC-1155)](https://docs.tatum.io/docs/multi-tokens-erc-1155.md) - [How to Create Multi Token Collections (REST API)](https://docs.tatum.io/docs/multi-token-create-collection-api.md) - [Algorand - NFTs Mint and Transfer to Recipient](https://docs.tatum.io/docs/algorand-nft-mint-and-transfer-to-recipient.md) - [EVM - Create a NFT Collection (SDK)](https://docs.tatum.io/docs/create-nft-collection.md) - [Flow - Mint and Transfer NFTs](https://docs.tatum.io/docs/flow-mint-and-transfer-nfts.md) - [🐒 Non-Fungible Tokens (ERC-721)](https://docs.tatum.io/docs/non-fungible-tokens-erc721.md) - [Algorand - Token URI: IPFS and max size](https://docs.tatum.io/docs/nft-algorand-ipfs.md) - [🏛️ NFT Auction](https://docs.tatum.io/docs/nft-auction-guide.md) - [EVM - Create a NFT Collection (REST API)](https://docs.tatum.io/docs/nft-create-collection.md) - [🐒 NFT Express](https://docs.tatum.io/docs/nft-express-guide.md): Mint NFTs without coding or owning crypto - [Metadata storage in NFTs, IPFS and Limits](https://docs.tatum.io/docs/nft-how-to-store-metadata-ipfs-and-limits.md) - [🛒 NFT Marketplace](https://docs.tatum.io/docs/nft-marketplace-guide.md): Peer-to-peer NFT marketplaces like OpenSea allow users to create NFTs with metadata (pictures, videos, songs, 3D art, etc.) and post listings to sell them to one another. - [EVM - Mint NFTs (ERC-721)](https://docs.tatum.io/docs/nft-minting-nfts.md) - [Solana - Mint and Transfer NFTs](https://docs.tatum.io/docs/solana-nft-mint-and-transfer-to-recipient.md) - [Tatum Smart Contract Verification & Audit](https://docs.tatum.io/docs/smart-contract-verification.md) - [Storage](https://docs.tatum.io/docs/storage.md): The InterPlanetary File System (IPFS) is a distributed and peer-to-peer system for storing and accessing files, websites, applications, and data. - [Upload File](https://docs.tatum.io/docs/ipfs-upload-file.md): This function helps a user to upload a new file on the Inter Planetary File Storage - [Wallet Operations](https://docs.tatum.io/docs/wallet-operations.md): A wallet, in the context of blockchain and cryptocurrencies, is a digital tool that allows users to securely store, manage, and transact with their digital assets such as cryptocurrencies and tokens. - [Algorand - Getting started (REST API)](https://docs.tatum.io/docs/algorand-getting-started-rest-api.md) - [Solana - Getting started (REST API)](https://docs.tatum.io/docs/solana-getting-started-rest-api.md) - [Celo - Getting Started (REST API)](https://docs.tatum.io/docs/celo-getting-started-rest-api.md) - [Ethereum - Getting Started (REST API)](https://docs.tatum.io/docs/ethereum-getting-started-api.md) - [Ethereum - Getting Started (SDK)](https://docs.tatum.io/docs/ethereum-getting-started-sdk.md) - [💻 EVM (like Ethereum)](https://docs.tatum.io/docs/wallet-provider-evm.md): Wallet Operations - EVM (like Ethereum) - [Polygon - Getting Started (REST API)](https://docs.tatum.io/docs/polygon-getting-started-rest-api.md) - [Approve the transfer of a fungible token like USDT](https://docs.tatum.io/docs/approve-the-transfer-of-a-fungible-token-like-usdt.md) - [Build your own custom transaction](https://docs.tatum.io/docs/build-your-own-custom-transaction.md) - [Connect a wallet](https://docs.tatum.io/docs/connect-wallet.md) - [Create your Fungible Token (ERC-20)](https://docs.tatum.io/docs/create-your-fungible-token.md) - [Create your NFT Collection](https://docs.tatum.io/docs/create-your-nft-collection.md) - [Create your NFT (ERC-1155 MultiToken) Collection](https://docs.tatum.io/docs/create-your-nft-erc-1155-multitoken-collection.md) - [💻 MetaMask](https://docs.tatum.io/docs/wallet-provider-metamask.md): Wallet Operations - MetaMask - [Transfer fungible tokens like USDT](https://docs.tatum.io/docs/transfer-fungible-tokens-like-usdt.md) - [Transfer native assets](https://docs.tatum.io/docs/transfer-native-assets.md) - [Transfer your NFT](https://docs.tatum.io/docs/transfer-your-nft.md) - [Generate Address](https://docs.tatum.io/docs/generate-address-tezos.md) - [Generate Mnemonic](https://docs.tatum.io/docs/generate-mnemonic-tezos.md) - [Generate Private Key](https://docs.tatum.io/docs/generate-private-key-tezos.md): Generate private key from Mnemonic - [Get Private Key, Address, and Mnemonic](https://docs.tatum.io/docs/get-private-key-address-and-mnemonic-tezos.md) - [💻 Tezos](https://docs.tatum.io/docs/wallet-provider-tezos.md): Wallet Operations - Tezos - [💻 Tron](https://docs.tatum.io/docs/wallet-provider-tron.md): Wallet Operations - Tron - [Tron - Getting Started (REST API)](https://docs.tatum.io/docs/tron-getting-started-api.md) - [Tron - Getting Started (SDK)](https://docs.tatum.io/docs/tron-getting-started-sdk.md) - [Bitcoin - Getting Started (REST API)](https://docs.tatum.io/docs/bitcoin-getting-started-api.md) - [Bitcoin - Getting Started (SDK)](https://docs.tatum.io/docs/bitcoin-getting-started-sdk.md) - [💻 UTXO (like Bitcoin)](https://docs.tatum.io/docs/wallet-provider-utxo.md): Wallet Operations - UTXO (like Bitcoin) - [gRPC Data Streams](https://docs.tatum.io/docs/grpc-data-streams.md): gRPC Data Streams enable real-time access to blockchain data with low latency and high throughput. Stream blocks, transactions, and on-chain events efficiently without polling. - [gRPC Structured Queries](https://docs.tatum.io/docs/grpc-structured-queries.md) - [Data Streaming & Real-Time Feeds](https://docs.tatum.io/docs/data-streaming-rpc-grpc-websockets.md): Stream real-time blockchain data with Tatum using gRPC and WebSocket subscriptions, or perform high-performance structured queries using gRPC request-response. - [Error Codes](https://docs.tatum.io/docs/gateway-error-code-reference.md): Learn how the Tatum RPC handles errors using JSON-RPC 2.0 and custom error codes that identify validation issues, rate limits, and upstream node failures. - [Bring Your Own RPC](https://docs.tatum.io/docs/bring-your-own-rpc.md): Bring Your Own RPC lets you add third-party or self-hosted RPC endpoints to your Custom Gateway, so you can define a proper routing strategy and build a reliable, high-availability RPC setup. - [Custom RPC Gateways](https://docs.tatum.io/docs/custom-blockchain-rpc-gateways.md): Custom RPC Gateways let you bring your own providers, set routing rules, and combine multiple endpoints for redundancy, failover, and better performance. - [Limits and Method Availability](https://docs.tatum.io/docs/gateway-limits.md): Understand the creation limits, method restrictions, and plan-based capabilities of Tatum’s RPC Gateway, including block-range limits, item caps, and validation rules. - [RPC Gateway](https://docs.tatum.io/docs/rpc-gateway.md): The RPC Gateway is a middleware that sits in front of your node pool, handling routing, failover, and consistency to ensure highly available and reliable RPC access. - [Routing Strategies](https://docs.tatum.io/docs/routing-strategies.md): Explore the routing strategies available in Tatum’s RPC Gateway and learn how to use them to control traffic flow across your connected RPC endpoints. - [Method-specific Routing](https://docs.tatum.io/docs/rpc-gateway-method-specific-routing.md): Method-specific Routing lets you apply a custom routing strategy per RPC method to optimize reliability, cost, and provider compatibility. - [Load Distribution](https://docs.tatum.io/docs/rpc-gateway-routing-load-distribution.md): Balance RPC traffic across multiple providers with Load Distributed routing. Supports equal-weight distribution, health-aware rotation, and upcoming dynamic weights for custom gateway configuration. - [Priority Failover](https://docs.tatum.io/docs/rpc-gateway-routing-priority-failover.md): Learn how Priority Failover routing ensures maximum API reliability by automatically switching to backup endpoints when your primary provider fails, with seamless recovery. - [Usage & Analytics](https://docs.tatum.io/docs/rpc-gateway-usage-analytics.md) - [Endpoint Health Monitor](https://docs.tatum.io/docs/endpoint-health-monitor.md): Continuously checks RPC providers for latency, timeouts, and stale blocks, automatically removing unhealthy endpoints so your Gateway stays stable and reliable. - [PowerUps](https://docs.tatum.io/docs/rpc-powerups.md): PowerUps are advanced add-ons that significantly improve the performance, security, and reliability of your RPC Gateway. Combine multiple PowerUps to create a powerful, highly resilient RPC stack tailored to your needs. - [Intelligent Data Routing](https://docs.tatum.io/docs/intelligent-data-routing.md): Routes each RPC call to the most up-to-date endpoint by monitoring real-time block freshness across all connected providers. - [MEV Protection](https://docs.tatum.io/docs/mev-protection-transaction-bradcasting.md): Protect your blockchain transactions from frontrunning, backrunning, sandwich attacks, and mempool sniping with Tatum’s MEV Protection. Transactions are automatically routed through private relays, ensuring cleaner execution, reduced slippage, and faster block inclusion — with zero configuration required. - [RPC Accelerator](https://docs.tatum.io/docs/rpc-accelerator-blockchain-cache.md): Delivers faster responses by caching recent blockchain data. - [Block Finality (Reorgs)](https://docs.tatum.io/docs/evm-block-finality-and-confidence.md): Block finality indicates how secure a transaction is against blockchain reorganizations (reorgs). Ethereum uses block tags such as latest, safe, and finalized to show increasing levels of certainty. While latest blocks may still change, safe blocks are highly reliable and finalized blocks are effectively immutable. Understanding these tags helps developers avoid processing data that could later be reversed. - [Archival Data](https://docs.tatum.io/docs/full-nodes-and-archive.md): Tatum’s Gateway simplifies blockchain connectivity with an intelligent balancing engine that dynamically routes your RPC requests based on the request type and real-time node conditions — giving you a single, seamless access point to reliable blockchain data. - [RPC Nodes](https://docs.tatum.io/docs/rpc-nodes.md): Understand what RPC nodes are and how they enable blockchain applications. Learn how RPC requests work, common development use cases, and pricing for different RPC methods across 130+ supported networks. - [Batch Calls](https://docs.tatum.io/docs/rpc-batch-calling.md): This page provides information on making batch calls to our RPC nodes, allowing multiple requests to be processed simultaneously. Batch calling is particularly useful for scenarios that require data from multiple blocks or transactions. - [Usage & Analytics](https://docs.tatum.io/docs/rpc-nodes-usage-analytics.md) - [Supported Blockchains](https://docs.tatum.io/docs/supported-blockchains.md): Tatum supports many blockchain protocols and nearly limitless assets in a single unified API and SDK. The level of support for different protocols varies and we grade them into three tiers outlined below. - [Overview](https://docs.tatum.io/docs/wallet-sdk-overview.md): Create secure MPC wallets, sign transactions, sponsor gas, and recover accounts across multiple chains in a flexible custody model fro your users. - [Smart Wallet SDK](https://docs.tatum.io/docs/wallet-sdk.md): Create MPC wallets, sign and send transactions, and manage end-user clients with the Tatum Wallet SDK for TypeScript. - [Installation & Quick Start](https://docs.tatum.io/docs/wallet-sdk-installation-quick-start.md): Get started with the Tatum Wallet SDK. Create MPC wallets, securely manage signing shares, and send transactions across supported blockchains. - [Supported Chains](https://docs.tatum.io/docs/wallet-sdk-supported-chains.md): Explore chain support, curve abstraction, RPC handling, and share selection for supported blockchains. - [Wallet Management](https://docs.tatum.io/docs/wallet-sdk-wallet-management.md): Learn how to create clients, generate MPC wallets, manage sessions, retrieve wallet details, and enable key eject for user-controlled wallet ownership. - [Sessions](https://docs.tatum.io/docs/wallet-sdk-client-sessions.md): Generate short-lived Client Session Tokens (CSTs) to securely authenticate frontend and mobile applications without exposing permanent client API keys. - [Clients](https://docs.tatum.io/docs/wallet-sdk-clients.md): Create and manage clients, retrieve wallet addresses and metadata, inspect share statuses, and access client-scoped wallet operations. - [Authentication Errors](https://docs.tatum.io/docs/authentication-errors.md) - [Compromised Assets - Exposed Mnemonics and PrivateKeys](https://docs.tatum.io/docs/compromised-assets-exposed-mnemonics-and-privatekeys.md) - [Managing API Keys](https://docs.tatum.io/docs/compromised-auth-api-keys.md): Keeps your environment secure: create, regenerate or delete API keys - [Authentication & Security](https://docs.tatum.io/docs/authentication.md): When using the Tatum REST API or SDK, you need to authenticate yourself with an API key. - [Managing Mnemonics and PrivateKeys](https://docs.tatum.io/docs/lost-mnemonics-and-or-privatekeys.md) - [Malicious Addresses](https://docs.tatum.io/docs/security-malicious-address.md) - [Signing Transactions Over REST API](https://docs.tatum.io/docs/signing-transactions-over-rest-api.md) - [SOC 2, InfoSec Questionnaires, and Other Security Certifications](https://docs.tatum.io/docs/soc-2-infosec-questionnaires-and-other-security-certifications.md) - [Welcome to Tatum](https://docs.tatum.io/docs/getting-started.md): Ready to build fantastic blockchain applications? - [Build your first web3 app](https://docs.tatum.io/docs/build-your-first-web3-app-with-tatum-sdk.md): Welcome to the Tatum SDK Demo: Simplifying Blockchain Development! 🚀 - [Configuration options](https://docs.tatum.io/docs/configuration-options.md) - [JavaScript SDK](https://docs.tatum.io/docs/javascript-sdk.md): Tatum offers JavaScript/TypeScript SDK which helps developers to build dApps. - [Logging](https://docs.tatum.io/docs/logging.md) - [Submodules](https://docs.tatum.io/docs/submodules.md): A quick overview of th different submodules in Tatum SDK and how they simplify blockchain development. These submodules include RPC, Notification, NFT, Address, and Wallet Provider. - [Learn Blockchain](https://docs.tatum.io/docs/learn-blockchain.md) - [Blockchain & Crypto](https://docs.tatum.io/docs/introducing-blockchain-and-crypto.md) - [Coins & Tokens](https://docs.tatum.io/docs/introducing-coins-vs-tokens.md) - [Mainnet vs Testnet](https://docs.tatum.io/docs/introducing-mainnet-and-testnet.md): Learn the differences between Mainnet and Testnet in blockchain development. Discover how Mainnet handles real-value transactions, while Testnet provides a safe environment for testing without financial risk. Perfect for developers and blockchain enthusiasts. - [Blockchain Gas Fees](https://docs.tatum.io/docs/blockchain-gas-fees.md) - [Wallets](https://docs.tatum.io/docs/introducing-wallets.md) - [Blockchain Addresses](https://docs.tatum.io/docs/introducing-blockchain-addresses.md) - [UTXO vs Account Model](https://docs.tatum.io/docs/introducing-transactions-utxo-vs-account-model.md) - [Tatum's Derivation Path](https://docs.tatum.io/docs/mnemonic-derivation-path.md) - [Understanding and Handling Nonce in EVM Chains](https://docs.tatum.io/docs/nonce-what-is-it-and-optional-use.md) - [The meaning of owning crypto](https://docs.tatum.io/docs/the-meaning-of-owning-crypto.md) - [Plans & Limits](https://docs.tatum.io/docs/plans-limits.md): It’s simple. Tatum is free to start - and lets you grow when you need to. - [Documentation MCP](https://docs.tatum.io/docs/tatum-documentation-mcp.md): Connect Cursor, Windsurf, Claude, and other AI tools to Tatum docs and APIs. Search guides, explore OpenAPI endpoints, and optionally run live API calls with your Tatum API key. - [Testnet Faucets](https://docs.tatum.io/docs/testnet-faucets.md): Tatum has the largest collection of testnet faucets online. - [Get Block by Hash or Height: API Migration (v3 to v4)](https://docs.tatum.io/docs/get-block-by-hash-or-height-api-migration-v3-to-v4.md) - [Get Block Hash by Block Number: API Migration (v3 to v4)](https://docs.tatum.io/docs/get-block-hash-by-block-number-api-migration-v3-to-v4.md) - [Get Current Block Height: API Migration (v3 to v4)](https://docs.tatum.io/docs/get-current-block-height-migration-v3-v4.md) - [Get Internal Transactions by Address: API Migration (v3 to v4)](https://docs.tatum.io/docs/get-internal-transactions-by-address-api-migration-v3-to-v4.md) - [Get Mempool Transaction Hashes: API Migration (v3 to v4)](https://docs.tatum.io/docs/get-mempool-transaction-hashes-api-migration-v3-to-v4.md) - [Get Native Balance: API Migration (v3 to v4)](https://docs.tatum.io/docs/get-native-balance-api-migration-v3-to-v4.md) - [Get Native Balance (batch): API Migration (v3 to v4)](https://docs.tatum.io/docs/get-native-balance-batch-api-migration-v3-to-v4.md) - [Get Outgoing Transaction Count: API Migration (v3 to v4)](https://docs.tatum.io/docs/get-outgoing-transaction-count-api-migration-v3-to-v4.md) - [Get Transaction by Hash: API Migration (v3 to v4)](https://docs.tatum.io/docs/get-transaction-by-hash-api-migration-v3-to-v4.md) - [Get Transaction History (UTXO): API Migration (v3 to v4)](https://docs.tatum.io/docs/get-transaction-history-utxo-api-migration-v3-to-v4.md) - [Get Transaction History (UTXO) Batch: API Migration (v3 to v4)](https://docs.tatum.io/docs/get-transaction-history-utxo-batch-api-migration-v3-to-v4.md) - [Get UTXO Info by Tx Hash and Index: API Migration (v3 to v4)](https://docs.tatum.io/docs/get-utxo-info-by-tx-hash-and-index-api-migration-v3-to-v4.md) - [Blockchains API Migration Path](https://docs.tatum.io/docs/blockchains-api-migration-path.md) - [Migration Observations](https://docs.tatum.io/docs/v3-to-v4-blockchains-api-migration-observations.md) - [DATA API - UTXO Indexer](https://docs.tatum.io/docs/data-api-utxo-indexer.md) - [Delete Your Tatum Account](https://docs.tatum.io/docs/delete-your-tatum-account.md) - [📁 Account Management & Login](https://docs.tatum.io/docs/account-management.md) - [Login Issues – Troubleshooting Steps](https://docs.tatum.io/docs/login-issues-troubleshooting-steps.md) - [Teams - Create and Invite Members](https://docs.tatum.io/docs/teams-create-and-invite-members.md) - [Transferring Account Ownership](https://docs.tatum.io/docs/transferring-account-ownership.md) - [Daily Charges on Tatum](https://docs.tatum.io/docs/daily-charges.md) - [Dedicated API Keys](https://docs.tatum.io/docs/dedicated-api-keys.md): Tatum offers **Dedicated API Keys** as a flexible, high-performance add-on for applications requiring guaranteed throughput. This guide explains how these keys are billed, how they interact with your base subscription, and how to manage your dedicated resources. - [Find Your Invoices in the Tatum Dashboard](https://docs.tatum.io/docs/find-invoice-history.md): Need to access your past invoices? You can find them in the Tatum Dashboard under your payment history. - [Monitoring Credit Consumption](https://docs.tatum.io/docs/high-credit-use-and-overcharges.md) - [💳 Billing](https://docs.tatum.io/docs/billing.md) - [Modify or Cancel Your Subscription](https://docs.tatum.io/docs/modify-or-cancel-a-paid-subscription.md) - [Failed or Declined Payments](https://docs.tatum.io/docs/payment-declined.md): This article will help you identify and resolve common issues with failed payments when using Stripe to pay for Tatum services. - [Settle Outstanding Invoices](https://docs.tatum.io/docs/payment-outstanding-settle-invoices.md) - [Billing Basics: How It Works](https://docs.tatum.io/docs/tatum-billing-basics-how-it-works.md): At Tatum, we aim to make billing straightforward and transparent. This article explains how our billing system works and what you can expect. - [Understanding "Pay as you go - Overage" (Legacy Plans)](https://docs.tatum.io/docs/understanding-pay-as-you-go-overage.md) - [Unrecognized Credit Card Charges from Tatum](https://docs.tatum.io/docs/unrecognized-credit-card-charges-from-tatum.md) - [Contacting Support](https://docs.tatum.io/docs/contacting-support.md) - [HTTP Error 429](https://docs.tatum.io/docs/error-429.md) - [🪲 Report Issues or Bugs to Support](https://docs.tatum.io/docs/reporting-issues-or-bugs-to-support.md) - [Report HTTP Errors - 40X, 50X, and Others](https://docs.tatum.io/docs/reporting-http-errors-40x-50x-and-others.md) - [Report Js SDK Errors](https://docs.tatum.io/docs/reporting-js-sdk-errors.md) - [Report KMS Errors](https://docs.tatum.io/docs/reporting-kms-errors.md) - [Report Notifications Issues](https://docs.tatum.io/docs/reporting-notifications-issues.md) - [Report RPC Nodes Errors](https://docs.tatum.io/docs/reporting-rpc-errors.md) - [Report Virtual Accounts Issues](https://docs.tatum.io/docs/reporting-virtual-accounts-errors.md) - [Cosmos - Fetching All Transactions from an Address](https://docs.tatum.io/docs/cosmos-fetching-all-transactions-from-an-address.md) - [Improving RPC Performance with Compression](https://docs.tatum.io/docs/improving-rpc-performance-with-compression.md): Adding an Accept-Encoding: gzip, br header to JSON-RPC requests can reduce transfer size and deliver up to a 70% speed improvement for responses over 100 KB - [TATUM API - Recommended Connection Timeout Settings](https://docs.tatum.io/docs/tatum-api-recommended-connection-timeout-settings.md) - [BTC - Maxfeerate Limit Error](https://docs.tatum.io/docs/btc-maxfeerate-limit-error.md) - [TRON - Estimate Fee and FeeLimit for TRX, TRC10 and TRC20](https://docs.tatum.io/docs/estimate-fee-and-feelimit-for-trx-trc10-and-trc20.md) - [EVM - Fee Estimate, GasPrice and Insufficient funds Error](https://docs.tatum.io/docs/fee-estimate-gasprice-and-insufficient-funds.md) - [Fee Estimate: Troubleshooting "fees.not.found"](https://docs.tatum.io/docs/fee-estimate-troubleshooting-feesnotfound.md) - [Refunding Gas Fees](https://docs.tatum.io/docs/refunding-gas-fees.md) - [KMS - Error 500 Internal Server Error](https://docs.tatum.io/docs/kms-error-500-internal-server-error.md) - [KMS - Malformed UTF-8 data error](https://docs.tatum.io/docs/kms-malformed-utf-8-data-error.md) - [KMS - "tron.tx.expired" Error](https://docs.tatum.io/docs/tron-error-trontxexpired.md) - [Get metadata of a fungible token](https://docs.tatum.io/docs/get-metadata-of-a-fungible-token.md) - [Harmony One - NFTs not loading](https://docs.tatum.io/docs/nft-harmony-one-and-nfts-not-loading.md) - [OpenSea - NFTs listing issues](https://docs.tatum.io/docs/nft-opensea-and-listing-issues.md) - [Transaction Pending](https://docs.tatum.io/docs/nft-polygon-matic-transaction-pending.md) - [Polygon Amoy - NFT Smart Contract](https://docs.tatum.io/docs/polygon-amoy-nft-smart-contract.md) - [Cancel or Replace a blockchain transaction](https://docs.tatum.io/docs/cancel-or-replace-a-blockchain-transaction.md) - [Blockchain Operations](https://docs.tatum.io/docs/troubleshooting-blockchain-operations.md) - [BNB - Beacon Chain Account Balance Attributes](https://docs.tatum.io/docs/bnb-beacon-chain-account-balance-attributes.md) - [BNB - BEP2 and BEP20 Token Transfers](https://docs.tatum.io/docs/bnb-bep2-and-bep20-token-transfers.md) - [BNB - Transactions over Beacon Chain and Smart Chain](https://docs.tatum.io/docs/bnb-transactions-over-beacon-chain-and-smart-chain.md) - [Error - "Fee cap less than block base fee"](https://docs.tatum.io/docs/error-fee-cap-less-than-block-base-fee.md) - [Error - "Contract Creation Code Storage Out of Gas"](https://docs.tatum.io/docs/evm-error-contract-creation-code-storage-out-of-gas.md) - [Multi tokens (ERC-1155) name and symbol](https://docs.tatum.io/docs/multi-tokens-erc-1155-name-and-symbol.md) - [Replacement Transaction Underpriced](https://docs.tatum.io/docs/replacement-transaction-underpriced.md): Error 403 - Unable to broadcast transaction - [Stellar - Broadcast Transaction Timeout](https://docs.tatum.io/docs/stellar-broadcast-transaction-timeout.md) - [Stellar: Error "xlm.account.not.found"](https://docs.tatum.io/docs/stellar-error-xlmaccountnotfound.md) - [Troubleshooting "Execution Reverted" Errors](https://docs.tatum.io/docs/troubleshooting-execution-reverted-errors.md) - [Using the Same Blockchain Address Across EVM Chains](https://docs.tatum.io/docs/using-the-same-blockchain-address-across-evm-chains.md) - [Solana - Dropped Transactions and Workarounds](https://docs.tatum.io/docs/solana-dropped-transactions-and-workarounds.md) - [Solana - Error processing Instruction 0](https://docs.tatum.io/docs/solana-error-processing-instruction-0.md) - [Solana - Error "Too many accounts requested, limit is 10,000,000"](https://docs.tatum.io/docs/solana-error-too-many-accounts-requested-limit-is-10000000.md) - [Solana - Error "failed to deserialize solana_sdk"](https://docs.tatum.io/docs/solana-errors-failed-to-deserialize-solana_sdk.md) - [Solana - Indexing and Confirmation](https://docs.tatum.io/docs/solana-indexing-and-confirmation.md) - [Solana - KMS_FAILED_TX with Successful Transactions](https://docs.tatum.io/docs/solana-kms_failed_tx-with-successful-transactions.md) - [Solana - Minimum Required Account Balance](https://docs.tatum.io/docs/solana-minimum-required-account-balance.md) - [Solana - Transaction has not been confirmed yet (Error 403)](https://docs.tatum.io/docs/solana-transaction-not-confirmed-yet.md) - [Troubleshooting Transaction Broadcasting Issues on EVM Chains Using Tatum APIs and KMS](https://docs.tatum.io/docs/troubleshooting-transaction-broadcasting-issues-on-evm-chains-using-tatum-apis-and-kms.md) - [TRON - Error: Cannot send TRC-20 callback is not defined](https://docs.tatum.io/docs/tron-error-cannot-send-trc-20-callback-is-not-defined.md) - [TRON - Freeze and Unfreeze TRX](https://docs.tatum.io/docs/tron-freeze-and-unfreeze-trx.md) - [TRON - Missing or Incorrect Timestamps in Transactions](https://docs.tatum.io/docs/tron-missing-timestamps-in-transactions.md) - [TRON - Transaction could not be found](https://docs.tatum.io/docs/tron-transaction-could-not-be-found.md) - [TRON - Troubleshooting Tapos check error](https://docs.tatum.io/docs/tron-troubleshooting-tapos-check-error.md) - [TRON - Unable to find account](https://docs.tatum.io/docs/tron-unable-to-find-account.md) - [BTC - CPFP and stuck transactions in the mempool](https://docs.tatum.io/docs/bitcoin-cpfp-and-stuck-transactions-in-the-mempool.md) - [BTC - RBF and stuck transactions in the mempool](https://docs.tatum.io/docs/bitcoin-replace-by-fee-and-stuck-transactions-in-the-mempool.md) - [BTC - About Mempool and Expiry Time](https://docs.tatum.io/docs/btc-mempool-and-expiry-time.md) - [BTC - Transaction Broadcast Error](https://docs.tatum.io/docs/btc-transaction-broadcast-error.md) - [Building a UTXO Transaction](https://docs.tatum.io/docs/building-a-utxo-transaction.md) - [Dust amount detected in one output](https://docs.tatum.io/docs/dust-amount-detected-in-one-output.md) - [BTC - Transaction already exists in mempool](https://docs.tatum.io/docs/transaction-already-exists-in-mempool.md) - [Transactions sharing the same Transaction Hash](https://docs.tatum.io/docs/transactions-with-the-same-transaction-hash.md) - [Troubleshooting the Error: "too-long-mempool-chain"](https://docs.tatum.io/docs/troubleshooting-the-error-too-long-mempool-chain.md) - [XRP - Account not found](https://docs.tatum.io/docs/xrp-account-not-found.md) - [Transaction Unconfirmed, Pending, Dropped or Failed](https://docs.tatum.io/docs/unconfirmed-and-dropped-transactions.md) - [Notifications - Tron Mainnet: contractAddress Returning a Symbol](https://docs.tatum.io/docs/about-contractaddress-value-and-symbol.md) - [Missing "counterAddress" - UTXO chains and Solana](https://docs.tatum.io/docs/counteraddress-on-utxo-chains-like-bitcoin-and-solana.md) - [Missing "x-payload-hash" in Notification Response Headers](https://docs.tatum.io/docs/missing-x-payload-hash-in-notification-response-headers.md) - [Delivery error: "networkError: true"](https://docs.tatum.io/docs/notification-delivery-error-networkerror-true.md) - [UTXO and ADDRESS_TRANSACTION](https://docs.tatum.io/docs/notifications-utxo-and-address_transaction.md) - [XRP, KMS and failed transactions](https://docs.tatum.io/docs/notifications-xrp-kms-and-failed-transactions.md) - [Arbitrum - Error: missing trie node](https://docs.tatum.io/docs/arbitrum-error-missing-trie-node.md) - [BASE - "eth_sendRawTransaction" Error 429 "Over Rate Limit"](https://docs.tatum.io/docs/base-eth_sendrawtransaction-error-429-over-rate-limit.md) - [Debug and Tracer error: reexec=128](https://docs.tatum.io/docs/debug-and-tracer-error-reexec128.md) - [Error "Already Known"](https://docs.tatum.io/docs/error-already-known-eth_sendrawtransaction.md) - [Error: "Max Fee Per Gas Less Than Block Base Fee"](https://docs.tatum.io/docs/error-max-fee-per-gas-less-than-block-base-fee.md) - [Error `eth_getProof` on Erigon v3: `hash sort failed`](https://docs.tatum.io/docs/eth_getproof-error-on-erigon-v3-hash-sort-failed.md) - [EVM - Unsupported methods](https://docs.tatum.io/docs/evm-based-nodes-unsupported-methods.md) - [EVM - rpc.txfeecap Node Configuration](https://docs.tatum.io/docs/evm-rpctxfeecap-node-configuration.md) - [EVM - trace_block and debug_traceBlockBy* Timeouts](https://docs.tatum.io/docs/evm-troubleshooting-debug_traceblockbyhash-timeouts.md) - [EVM - Troubleshooting "Reverted" with "trace_transaction"](https://docs.tatum.io/docs/evm-troubleshooting-reverted-with-trace_transaction.md) - [Retrieve Transaction Data via RPC Methods (EVM)](https://docs.tatum.io/docs/find-transaction-data-via-rpc-methods-evm.md): This article explains common transaction types, their characteristics, and which RPC methods are best suited for extracting relevant data. - [IOTA - SDK and Empty Body Errors](https://docs.tatum.io/docs/iota-sdk-and-empty-body-errors.md) - [Method not found: eth_newFilter](https://docs.tatum.io/docs/method-not-found-eth_newfilter.md) - [Optimism - debug_trace and Node Performance Issues](https://docs.tatum.io/docs/optimism-debug_trace-and-node-performance-issues.md) - [Optimism - tx hash 0x0000000000000000000000000000000000000000000000000000000000000000](https://docs.tatum.io/docs/optimism-tx-hash-0x0000000000000000000000000000000000000000000000000000000000000000.md) - [Optimism Update - Transition from Geth to Erigon](https://docs.tatum.io/docs/optimism-update-transition-from-geth-to-erigon.md) - [Polkadot - Getting Extrinsics from a Block](https://docs.tatum.io/docs/polkadot-getting-extrinsics-from-a-block.md) - [Removed "totalDifficulty" from Block Schema](https://docs.tatum.io/docs/removed-totaldifficulty-from-block-schema.md) - [Retrieve Internal Transactions from a Transaction Hash](https://docs.tatum.io/docs/retrieve-internal-transactions-from-a-transaction-hash.md) - [SUI – Unsafe Methods Not Supported](https://docs.tatum.io/docs/sui-unsafe-methods-not-supported.md) - [Error: tracing failed: insufficient funds for gas * price + value](https://docs.tatum.io/docs/tracing-failed-insufficient-funds-for-gas-price-value-error.md) - [zkSync – “pending” Blocks Return null](https://docs.tatum.io/docs/zksync-pending-blocks-return-null.md) - [Algorand - Get Account Transactions](https://docs.tatum.io/docs/algo-get-account-transactions.md) - [Cardano - Rosetta: block method and "other_transactions"](https://docs.tatum.io/docs/cardano-rosetta-block-method-and-other_transactions.md) - [Cardano - Rosetta: "Error: (intermediate value) is not iterable"](https://docs.tatum.io/docs/cardano-rosetta-error-intermediate-value-is-not-iterable.md) - [EOS - Chain API & Trace API URLs](https://docs.tatum.io/docs/eos-chain-and-trace-api.md) - [Polkadot Asset Hub: "/runtime/metadata" Error 500](https://docs.tatum.io/docs/polkadot-asset-hub-runtimemetadata-error-500.md) - [Polkadot: Migration guide to the v1 REST API](https://docs.tatum.io/docs/polkadot-rest-api-migration.md): The underlying Polkadot network infrastructure is transitioning from the legacy Node.js `substrate-api-sidecar` to the new Rust-based **Polkadot REST API**. This change follows the upstream deprecation of `substrate-api-sidecar` by Parity and its replacement with `polkadot-rest-api`. - [Solana - Error getProgramAccounts](https://docs.tatum.io/docs/solana-error-getprogramaccounts.md) - [Solana - getProgramAccounts Performance Considerations](https://docs.tatum.io/docs/solana-getprogramaccounts-performance-considerations.md) - [Solana - Long response times](https://docs.tatum.io/docs/solana-long-response-times.md) - [Sui - Migration Guide from JSON-RPC to gRPC](https://docs.tatum.io/docs/sui-migration-guide-from-json-rpc-to-grpc.md) - [TON - getTransaction and Pagination](https://docs.tatum.io/docs/ton-gettransaction-and-pagination.md) - [TON - Retrieve Full Transaction Data via Transaction Hash](https://docs.tatum.io/docs/ton-retrieve-full-transaction-data-via-transaction-hash.md) - [TON - Retrieve Token Transaction Information](https://docs.tatum.io/docs/ton-retrieve-token-transaction-information.md) - [TON - /v3/actions Does Not Return Jetton Transfers](https://docs.tatum.io/docs/ton-v3actions-does-not-return-jetton-transfers.md) - [TRON access via Ethereum JSON-RPC API](https://docs.tatum.io/docs/tron-eth-json-rpc-api.md) - [TRON Testnet (Shasta) – Performance Expectations](https://docs.tatum.io/docs/tron-testnet-shasta-performance-expectations.md) - [Troubleshooting RPC requests](https://docs.tatum.io/docs/rpc-troubleshooting-rpc-requests-and-tatum.md) - [Bitcoin – getrawmempool Behavior](https://docs.tatum.io/docs/bitcoin-getrawmempool-behavior.md) - [Dogecoin - Error 64: tx-size](https://docs.tatum.io/docs/dogecoin-error-64-tx-size.md) - [UTXO Chains - Unsupported Methods](https://docs.tatum.io/docs/utxo-based-nodes-unsupported-methods.md) - [VA - Deposit address blockchain balance not reflected](https://docs.tatum.io/docs/deposit-address-blockchain-balance-not-reflected.md) - [VA: Base Sepolia and Internal Transactions - Not Supported](https://docs.tatum.io/docs/va-base-sepolia-and-internal-transactions-not-supported.md) - [VA - XLM and XRP: Deposit not Detected](https://docs.tatum.io/docs/va-deposit-not-detected-with-bnb-xlm-or-xrp.md) - [VA - Error XPUB not compatible](https://docs.tatum.io/docs/va-error-xpub-not-compatible.md) - [VA - TRON withdrawal error: offchain.tron.tx.failed](https://docs.tatum.io/docs/tron-withdrawal-error-offchaintrontxfailed.md) - [VA - How to find Withdrawal Logs](https://docs.tatum.io/docs/va-how-to-find-withdrawal-logs.md) - [VA - Unable to prepare withdrawal](https://docs.tatum.io/docs/va-unable-to-prepare-withdrawal.md) - [VA - Withdrawal from a Gas Pump deposit address](https://docs.tatum.io/docs/va-withdrawals-from-a-gas-pump-deposit-address.md) - [VA - Withdrawal registered in ledger but failed in the blockchain](https://docs.tatum.io/docs/withdrawal-registered-but-failed-in-the-blockchain.md) - [Troubleshooting Virtual Account Withdrawals](https://docs.tatum.io/docs/withdrawals-to-blockchain-troubleshooting.md) ## API Reference - [Data API Overview](https://docs.tatum.io/reference/blockchain-data-api.md): Our Data API product empowers users to seamlessly access on-chain data through a comprehensive suite of APIs. By integrating these APIs, you can retrieve detailed information about tokens, NFTs, wallets, transactions, DeFi events, and more. - [Get native balance (batch)](https://docs.tatum.io/reference/getbalancebatchblockchainsapi.md):

/v4/data/blockchains/balance/batch

10 credits per address (e.g. 3 addresses = 30 credits)

Get native balance for multiple addresses in one request. Supports up to 30 comma-separated addresses (up to 10 for Tron). UTXO chains (Bitcoin, Litecoin, Dogecoin) return additional aggregated fields per address.

- [Get native balance](https://docs.tatum.io/reference/getbalanceblockchainsapi.md):

/v4/data/blockchains/balance

10 credits per API call

Get native balance for an address. UTXO chains return additional aggregated fields.

- [Get block by hash or height](https://docs.tatum.io/reference/getblockblockchainsapi.md):

/v4/data/blockchains/block

50 credits per API call

Get block details by hash or height for supported blockchains. Response shape differs by chain (EVM-style vs UTXO-style). Bitcoin Cash (bch-mainnet, bch-testnet) returns the raw node block format (see UtxoRawBlock).

- [Get block hash by block number](https://docs.tatum.io/reference/getblockhashblockchainsapi.md):

/v4/data/blockchains/block/hash

10 credits per API call

Get the block hash for a given block height (block number) for supported blockchains. Use block number only (e.g. ledger index for Ripple, sequence for Stellar).

- [Get current block height](https://docs.tatum.io/reference/getcurrentblockblockchainsapi.md):

/v4/data/blockchains/block/current

10 credits per API call

Get the latest block height for supported blockchains. The response is a block number (height) for most chains.

- [Get internal transactions by address](https://docs.tatum.io/reference/getinternaltransactionsblockchainsapi.md):

/v4/data/blockchains/transaction/internal

20 credits per API call

Get internal transactions by address for EVM chains (Ethereum, BSC, Polygon, Celo, Base, Arbitrum, Optimism, Bera, Unichain, Monad).

- [Get mempool transaction hashes](https://docs.tatum.io/reference/getmempoolblockchainsapi.md):

/v4/data/blockchains/mempool

20 credits per API call

Get mempool (unconfirmed) transaction hashes for a UTXO chain. Supported chains: Bitcoin, Litecoin, Dogecoin, BCH (mainnet and testnet). Response is an array of transaction hashes (strings).

- [Get transaction by hash](https://docs.tatum.io/reference/gettransactionblockchainsapi.md):

/v4/data/blockchains/transaction

10 credits per API call

Get a transaction by hash. Response shape differs by chain (EVM-style vs UTXO-style). Bitcoin Cash (bch-mainnet, bch-testnet) returns the raw node transaction format (see UtxoRawTransaction).

- [Get outgoing transaction count](https://docs.tatum.io/reference/gettransactioncountblockchainsapi.md):

/v4/data/blockchains/transaction/count

10 credits per API call

Get the count of outgoing transactions (including pending) for the given address.

- [Get transaction history (UTXO) batch](https://docs.tatum.io/reference/gettransactionhistoryutxosbatchblockchainsapi.md):

/v4/data/blockchains/transaction/history/utxos/batch

20 credits per address (e.g. 5 addresses = 100 credits)

Get transaction history by address for multiple addresses in one request (UTXO chains: Bitcoin, Litecoin, Dogecoin, Cardano). Max 30 addresses. Optional txType filter (incoming/outgoing) for BTC/LTC/DOGE.

Cardano (ADA): Only addresses are used. Filter txType is not available for Cardano. Returns ADA format (see example).

- [Get transaction history (UTXO)](https://docs.tatum.io/reference/gettransactionhistoryutxosblockchainsapi.md):

/v4/data/blockchains/transaction/history/utxos

20 credits per API call

Get transaction history by address for UTXO chains (Bitcoin, Litecoin, Dogecoin, Cardano) with pagination and optional block range and tx type filter.

Cardano (ADA): Only address, pageSize, and offset are supported. Filters blockFrom, blockTo, and txType are not available for Cardano.

- [Get UTXO info by tx hash and index](https://docs.tatum.io/reference/getutxoinfoblockchainsapi.md):

/v4/data/blockchains/utxo/info

10 credits per API call

Get information about a transaction output (UTXO) by transaction hash and output index. Supported for Bitcoin, Litecoin, Dogecoin, and Bitcoin Cash. Response is normalized: value in smallest unit (satoshis), address, script, hash, index, and height (block height; for mempool/unconfirmed UTXOs, height is -1). If the output is spent, the API returns 403.

- [Blockchains API](https://docs.tatum.io/reference/blockchains-api.md): Get blocks, transactions, balances, and mempool data across multiple blockchains with one API. - [Get block by time](https://docs.tatum.io/reference/getblockbytimev4.md):

/v4/data/block/time

20 credits per API call

Get block number by time on the following blockchains:

To get started, provide a chain name and specify one of the filters listed below (combination of the filters is not allowed):

If you pass a time or Unix timestamp that is in the future, the system will return the number for the latest block.

If you pass a time or Unix timestamp in the past (dating back to or earlier than the blockchain's genesis block), the system will return 0.

- [Get specified blocks](https://docs.tatum.io/reference/getdefiblocksv4.md):

/v4/data/defi/blocks

10 credits per API call

Get information about blocks (when they were added, block hashes and list of transaction hashes that were processed within them) on the following blockchains:

To get started, provide a chain and specify one of the filters listed below (combination of these filters is not allowed):

- [Get specified events](https://docs.tatum.io/reference/getdefieventsv4.md):

/v4/data/defi/events

50 credits per API call

Get all events on given addresses and / or in the requested block range on the following blockchains:

To get started:

As noted above, aside from general info and hashed event data, the API also decodes them for you in case you filter by one of the following supported event types:

- [Get latest block](https://docs.tatum.io/reference/getlatestdefiblockv4.md):

/v4/data/defi/blocks/latest

10 credit per API call

Get information about latest added block on the following blockchains:

To get started, you can just provide a chain.

- [Get best swap rate](https://docs.tatum.io/reference/getv4datadefiswapsquote.md):

/v4/data/defi/swaps/quote

20 credits per API call

Get the single best swap rate across all supported protocols. Compares all protocols and returns the one with the best price: sell orders — highest buyAmount, buy orders — lowest sellAmount. Use this when you just want the best deal without thinking about protocols. For comparing all options, use GET /swaps/quotes instead. **Quotes are cached for up to 15 seconds** (less than one Ethereum block). Each response includes an `expiresAt` field (Unix timestamp) indicating when the underlying quote was originally fetched from the protocol. Always check `expiresAt` against the current time before displaying or acting on a quote — if less than ~10 seconds remain, re-query to get a fresh price. - [Get multi-protocol rates](https://docs.tatum.io/reference/getv4datadefiswapsquotes.md):

/v4/data/defi/swaps/quotes

20 credits per API call

Compare swap rates across all supported protocols. Results are sorted by best price: highest buyAmount for sell orders, lowest sellAmount for buy orders. **Quotes are cached for up to 15 seconds** (less than one Ethereum block). Each result includes an `expiresAt` field (Unix timestamp) indicating when the underlying quote was originally fetched from the protocol. Always check `expiresAt` against the current time before displaying or acting on a quote — if less than ~10 seconds remain, re-query to get a fresh price. - [DeFi API](https://docs.tatum.io/reference/defi-api.md): Track DeFi events, swap quotes, protocol blocks, and historical data with a unified API. - [Get Exchange Rate by Symbol](https://docs.tatum.io/reference/getexchangerate.md):

/v4/data/rate/symbol

Credit cost: 20 credits when basePair is a fiat currency or USDT / USDC; 50 credits when basePair is any other crypto symbol.

Get the current exchange rate for exchanging fiat/crypto assets.

We support the top 1000+ token symbols by market cap.

Tokens are made available as soon as they’re published to CEXes or DEXes.

We pull from 10+ CEXes & 100+ DEXes.

By default, the base pair (the target asset) is EUR. When obtaining the exchange rate for an asset (for example, BTC), the value returned by the API expresses the amount of EUR that can be currently exchanged into 1 BTC.

Accepted base pairs depend on the plan:

- [Get Exchange Rate by Contract](https://docs.tatum.io/reference/getexchangeratebycontractaddress.md):

/v4/data/rate/contract

20 credit per API call

Get the current exchange rate by chain & contract address.

By default, the base pair (the target asset) is EUR. When obtaining the exchange rate for an contract address for chain (for example, 0xdAC17F958D2ee523a2206206994597C13D831ec7 on ethereum-mainnet), the value returned by the API expresses the amount of EUR that can be currently exchanged into 1 0xdAC17F958D2ee523a2206206994597C13D831ec7 (USDT).

- [Get Exchange Rate by Symbol - Batch](https://docs.tatum.io/reference/getexchangerates.md):

/v4/data/rate/symbol/batch

Credit cost (per pair): 20 credits when basePair is a fiat currency or USDT / USDC; 50 credits when basePair is any other crypto symbol. The total cost is the sum across all pairs in the batch.

Get the current exchange rates for exchanging fiat/crypto assets.

We support the top 1000+ token symbols by market cap.

Tokens are made available as soon as they’re published to CEXes or DEXes.

We pull from 10+ CEXes & 100+ DEXes.

When obtaining the exchange rate for an asset (for example, BTC), the value returned by the API expresses the amount of EUR that can be currently exchanged into 1 BTC.

Accepted base pairs depend on the plan:

- [Get Exchange Rate by Contract - Batch](https://docs.tatum.io/reference/getexchangeratesbycontractaddress.md):

/v4/data/rate/contract/batch

20 credits per pair per API call

Get the current exchange rates by chain and contract address for multiple pairs in one request.

By default, the base pair (the target asset) is EUR. When obtaining the exchange rate for a contract address on a chain, the value returned expresses the amount of the base pair that can be currently exchanged into 1 unit of the token.

Limits: Maximum 25 pairs per request. Maximum 3 different chains per request. Duplicate (chain, contractAddress) pairs are allowed and return the same price for each occurrence.

When a token price is not available, the response item includes value and timestamp as null and an error object with message "Token not found". Successful and failed items are returned together in the same response.

- [Get Price Change by Symbol](https://docs.tatum.io/reference/getpricechange.md):

/v4/data/rate/price-change

200 credits per API call

Get price change data for a symbol over a specified time range or interval.

This endpoint calculates the price change (both absolute and percentage) for a given symbol between two points in time. You can either specify an explicit time range using timeFrom and timeTo, or use a predefined interval that computes the change from the last fully closed candle.

Supported symbols: We support 439+ trading pairs. The symbol parameter accepts the base currency (e.g., "BTC", "ETH").

Base pair: By default, the base pair is "USDT". You can specify a different quote asset (e.g., "ETH", "USDC") using the basePair parameter.

Time range options:

Important: You must provide either (timeFrom + timeTo) OR interval, but not both.

- [Get Price Change by Symbol - Batch](https://docs.tatum.io/reference/getpricechangebatch.md):

/v4/data/rate/price-change/batch

200 credits per API call

Get price change data for multiple symbols in a single request. Each item may specify a time range (timeFrom + timeTo) or an interval. Maximum 10 items per request.

Request body must be an array of objects (or { "body": [ ... ] }). Each object must include symbol, batchId, and either (timeFrom + timeTo) or interval.

- [Get OHLCV by Symbol](https://docs.tatum.io/reference/getsymbolohlcv.md):

/v4/data/rate/symbol/OHLCV

50 credits per API call

Get historical exchange rate in USD for a symbol at a specific point in time.

This endpoint retrieves the closest available price record for a given symbol and timestamp. The data includes OHLCV (Open, High, Low, Close, Volume). By default returns 1-minute candles; use the interval parameter to aggregate into 5m, 15m, 1h, 1d, etc.

Supported symbols: We support 439+ trading pairs. The symbol parameter accepts the base currency (e.g., "BTC", "ETH").

Time handling:

Time format: You can provide time either as a Unix timestamp in milliseconds (using the unix parameter) or as a Date object (using the time parameter). You must provide exactly one of these parameters.

Interval: Candle interval. Supported values: 1m, 5m, 15m, 30m, 45m, 1h, 2h, 4h, 1d, 1w, 1M. Defaults to 1m.

- [Get OHLCV by Symbol - Batch](https://docs.tatum.io/reference/getsymbolohlcvbatch.md):

/v4/data/rate/symbol/OHLCV/batch

500 credits per API call

Get multiple historical OHLCV (Open, High, Low, Close, Volume) candles for a symbol starting from a given time.

Returns up to numberOfCandles (max 50) OHLCV candles with openTime ≥ the provided start time, ordered by openTime ascending. The optional interval query parameter sets the candle size (same values as GET /v4/data/rate/symbol/OHLCV); it defaults to 1m.

Supported symbols: We support 439+ trading pairs. The symbol parameter accepts the base currency (e.g., "BTC", "ETH").

Time format: Provide the start of the range either as a Unix timestamp in milliseconds (unixFrom) or as a Date in ISO 8601 format (timeFrom). You must provide exactly one of these parameters.

- [Prices & Exchange Rate API](https://docs.tatum.io/reference/exchange-rate.md): Fetch real-time crypto token and fiat exchange rates with a unified API. - [Estimate gas for a transaction](https://docs.tatum.io/reference/estimatefeeblockchain.md):

10 credits per API call

Estimate the current fee for different types of transactions.

This API is supported for the following blockchains:

- [Estimate gas for a transfer](https://docs.tatum.io/reference/estimategas.md):

10 credits per API call

Get an estimated gas price (wei) and the number of gas units needed for a transaction.

New endpoint which is unifying all supported chains for gas estimation into the one. List of supported chains is bellow.

- [Estimate the fee for multiple Ethereum transactions](https://docs.tatum.io/reference/ethestimategasbatch.md):

10 credits per API call + 10 credits per each gas estimation

Get an estimated gas price and the number of gas units needed for multiple Ethereum transactions. The gas price is obtained from multiple sources and calculated based on the latest N blocks and the current mempool state.

The estimations are returned in the same order as the transactions were submitted in the request.

The fast gas price is used by default.

NOTE: The estimated gas price is returned in wei. However, when making a transaction itself and providing the custom fee, you have to provide the gas price in Gwei. Make sure to convert the estimated gas price from wei to Gwei before submitting your transaction.

- [Get recommended base fee for a chain](https://docs.tatum.io/reference/getblockchainfee.md):

1 credit per API call

Get the recommended fee/gas price for a blockchain.

Fee is in satoshis(meaning currency(BTC, DOGE,... / 100 000 000) per byte

This API is supported for the following blockchains:

- [Fee Estimation API](https://docs.tatum.io/reference/fee-estimation-api.md): Estimate gas, recommended fees, and transaction costs across multiple blockchains with a single unified API. - [Estimate the gas needed for a VeChain transaction](https://docs.tatum.io/reference/vetestimategas.md):

5 credits per API call

Get an estimated amount of gas needed for a VeChain transaction.

- [Estimate the fee for a XinFin transaction](https://docs.tatum.io/reference/xdcestimategas.md):

2 credits per API call

Get an estimated gas price and the number of gas units needed for a XinFin transaction. The gas price is obtained from https://rpc.xinfin.network/gasPrice.

NOTE: The estimated gas price is returned in wei. However, when making the transaction itself and providing the custom fee, you have to provide the gas price in Gwei. Make sure to convert the estimated gas price from wei to Gwei before submitting your transaction.

- [Check malicous address](https://docs.tatum.io/reference/checkmalicousaddress.md):

/v3/security/address/{address}

1 credit per API call.


Check, if the blockchain address is malicous. Malicous address can contain assets from the DarkWeb, is connected to the scam projects or contains stolen funds.


We use malicious address data from standard on-chain analytics providers for this endpoint. The API response includes the sources used.


Supported Chains: ETH, BTC, LTC, SOLANA, TRON

- [Malicious address API](https://docs.tatum.io/reference/malicious-address.md): Detect malicious or fraudulent blockchain addresses with a unified API. - [Get chain trades from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamchaintrades.md):

/v4/data/marketplace/cryptoslam/chain/trades

100 credits per API call

Returns trades across the entire blockchain, with optional filtering by block range or timestamp range.

Supported blockchains:

- [Get chain trades DNA from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamchaintradesdna.md):

/v4/data/marketplace/cryptoslam/chain/trades/dna

5000 credits per API call

This endpoint retrieves trade data across the entire blockchain enriched with WalletDNA metrics. Developers can filter trades by size, side, or wallet behavior (IQ, Reputation, Flow, Mass, Epoch, Maker Presence). Responses include detailed trade, token, and wallet profiles, enabling advanced segmentation, smart-money tracking, and high-signal on-chain analytics in real time.

Supported blockchains:

- [Get chain transfers from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamchaintransfers.md):

/v4/data/marketplace/cryptoslam/chain/transfers

30 credits per API call

Returns token transfers across the entire blockchain, with optional filtering by block range or timestamp range.

Supported blockchains:

- [Get chain transfers DNA from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamchaintransfersdna.md):

/v4/data/marketplace/cryptoslam/chain/transfers/dna

100 credits per API call

Returns token transfers across the entire blockchain, enriched with WalletDNA analytics—including sender and receiver wallet tiers ("size"), labels, current balances (token & USD), and each address's share of supply. Each record includes FDV and live token pricing. Supports filtering by block range or timestamp. Longer response times should be expected due to the richness of the data.

Supported blockchains:

- [Get pair trades from Cryptoslam](https://docs.tatum.io/reference/getcryptoslampairtrades.md):

/v4/data/marketplace/cryptoslam/pair/trades

80 credits per API call

Returns trades for a specified liquidity pool, with optional filtering by side, trader, maker, block range, or timestamp range.

Supported blockchains:

- [Get pair trades DNA from Cryptoslam](https://docs.tatum.io/reference/getcryptoslampairtradesdna.md):

/v4/data/marketplace/cryptoslam/pair/trades/dna

4000 credits per API call

This endpoint retrieves trade data for a specified liquidity pool enriched with WalletDNA metrics. Developers can filter trades by size, side, or wallet behavior (IQ, Reputation, Flow, Mass, Epoch, Maker Presence). Responses include detailed trade, token, and wallet profiles, enabling advanced segmentation, smart-money tracking, and high-signal on-chain analytics in real time.

Supported blockchains:

- [Get token holder reputation from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamtokenholderreputation.md):

/v4/data/marketplace/cryptoslam/token/holder/reputation

1500 credits per API call

Returns reputation scores for one or more wallets holding a token, at the current or historical block/timestamp.

Rules:

Supported blockchains:

- [Get token prices from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamtokenprice.md):

/v4/data/marketplace/cryptoslam/token/price

40 credits per API call

Returns current token prices with FDV, liquidity, and 24h price change, quoted in USD, ETH, or BTC.

Rules:

Supported blockchains:

- [Get exotic token prices from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamtokenpriceexotic.md):

/v4/data/marketplace/cryptoslam/token/price/exotic

50 credits per API call

Retrieves token price details including FDV, liquidity, and 24-hour change, quoted in any ERC20 or major blockchain token.

Rules:

Supported blockchains:

- [Get exotic token price history from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamtokenpriceexotichistory.md):

/v4/data/marketplace/cryptoslam/token/price/exotic/history

50 credits per API call

Returns token prices, FDV, liquidity and lookback percentage change quoted in any token at a historical block or timestamp.

Rules:

Supported blockchains:

- [Get token price history from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamtokenpricehistory.md):

/v4/data/marketplace/cryptoslam/token/price/history

45 credits per API call

Retrieves token prices, FDV, and liquidity at any block or timestamp, including percentage change for specified lookback periods.

Rules:

Supported blockchains:

- [Get token trades from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamtokentrades.md):

/v4/data/marketplace/cryptoslam/token/trades

80 credits per API call

Returns trades for a specified token address, with optional filtering by side, trader, maker, paired token, block range, or timestamp range.

Supported blockchains:

- [Get token transfers from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamtokentransfers.md):

/v4/data/marketplace/cryptoslam/token/transfers

25 credits per API call

Returns token transfers for a specific token address, with optional filters by participant address, direction, block/timestamp range, and pagination.

Supported blockchains:

- [Get token transfers with DNA from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamtokentransfersdna.md):

/v4/data/marketplace/cryptoslam/token/transfers/dna

100 credits per API call

Returns token transfer records for a given token address, enriched with WalletDNA analytics—including sender and receiver wallet tiers ("size"), labels, current balances (token & USD), and each address's share of supply. Each record includes FDV and live token pricing. Supports filtering by participant address, direction, block range, or timestamp. Longer response times should be expected due to the richness of the data.

Supported blockchains:

- [Get wallet trades from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamwallettrades.md):

/v4/data/marketplace/cryptoslam/wallet/trades

80 credits per API call

Returns trades for a specified wallet address as the trader (default) or maker, with optional filtering by token, paired token, pair, side, block range, or timestamp range.

Supported blockchains:

- [Get wallet trades DNA from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamwallettradesdna.md):

/v4/data/marketplace/cryptoslam/wallet/trades/dna

4000 credits per API call

The Wallet Trades DNA endpoint returns all trades for a specific wallet, enriched with HolderDNA metrics calculated at the time of each swap. Supports DNA-based filters, allowing segmentation across different tokens. This lets you track how wallet intelligence, reputation, and other behavioral signals evolve per token throughout trading history.

Supported blockchains:

- [Get wallet transfers from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamwallettransfers.md):

/v4/data/marketplace/cryptoslam/wallet/transfers

25 credits per API call

Returns token transfers for a specified wallet address, with optional filtering by token address, participant address, direction, block range, or timestamp range. You may filter by either tokenAddress or address, but not both.

Supported blockchains:

- [Get wallet transfers DNA from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamwallettransfersdna.md):

/v4/data/marketplace/cryptoslam/wallet/transfers/dna

4000 credits per API call

Returns token transfer records for a given wallet address, enriched with WalletDNA analytics—including sender and receiver wallet tiers ("size"), labels, current balances (token & USD), and each address's share of supply. Each record includes FDV and live token pricing. Supports filtering by participant address, direction, block range, or timestamp. Longer response times should be expected due to the richness of the data.

Supported blockchains:

- [Get trending tokens from Cryptoslam](https://docs.tatum.io/reference/getcryptoslamtrendingtokens.md):

/v4/data/marketplace/cryptoslam/token/trending

250 credits per API call per address

Returns trending tokens across the entire blockchain for a specified activity window and optional category. The size of the increase in active wallets over the activity window determines the token's trending rank.

Supported blockchains:

> 📘 Note for Free Users > > As a free user, your data is cached on a 1-day refresh cycle, and wallet queries run through tatumio.eth. This setup helps lower costs so you can easily try out the API. For real-time data, faster syncs, and the full capability of our platform, we recommend upgrading to a paid plan. - [Get mining rewards](https://docs.tatum.io/reference/getminingrewardsv4.md):

/v4/data/mining/rewards

50 credits per API call

Get mining rewards (coinbase outputs) for a UTXO address. This endpoint returns all coinbase rewards received by the address when it successfully mined blocks.

Supported blockchains:

To get started:

- [Get total mining rewards](https://docs.tatum.io/reference/gettotalminingrewardsv4.md):

/v4/data/mining/totalRewards

100 credits per API call

Get total mining rewards (sum of all coinbase outputs) earned by a UTXO address till date.

Supported blockchains:

- [Get tokens from a collection](https://docs.tatum.io/reference/getcollectionsv4.md):

/v4/data/collections

20 credits per API call

> 📘 **Note for v3 API users:** > > As part of our documentation consolidation, we removed the dedicated page for GET /v3/data/collections. Users can refer to GET /v4/data/collections for the latest documentation, as both endpoints function the same—simply replace v4 with v3 in the API URL if using the v3 version.

Get all NFTs (ERC-721 and ERC-1155) and multitokens (ERC-1155 only) of your favorite collections! Our API lets you search for all tokens on:

To get started:

- [Get token metadata](https://docs.tatum.io/reference/getmetadatav4.md):

/v4/data/metadata

10 credits per API call

> 📘 **Note for v3 API users:** > > As part of our documentation consolidation, we removed the dedicated page for GET /v3/data/metadata. Users can refer to GET /v4/data/metadata for the latest documentation, as both endpoints function the same—simply replace v4 with v3 in the API URL if using the v3 version.

Get metadata of NFTs (ERC-721 and ERC-1155) or multitokens (ERC-1155 only) by IDs for a given token address! Our API lets you search for all tokens on:

To get started:

- [Get Multi Token balances of a wallet address](https://docs.tatum.io/reference/getmultitokenbalancev4.md):

/v4/data/multitoken/balances

50 credits per API call

Get Multi Token balances of a wallet address. The Multi Tokens are returned grouped by the smart contracts they were minted on.

This API is supported for the following blockchains:

- [Get NFT balance of a wallet address](https://docs.tatum.io/reference/getnftbalancesv4.md):

/v4/data/nft/balances

50 credits per API call

Get all NFTs that a blockchain address holds. The NFTs are returned grouped by the smart contracts they were minted on.

This API is supported for the following blockchains:

On Solana and Algorand, if a blockchain address holds fewer than 50 NFTs, the API also returns each NFT's metadata. If the metadata is not returned, you can obtain it using the API for getting NFT metadata.

- [NFT API](https://docs.tatum.io/reference/nft-api.md): Query NFT collections, get metadata, check ownership, and track balances across chains with one simple API. - [Get a prediction-market event by ID](https://docs.tatum.io/reference/getpredictioneventbyidv4.md):

/v4/data/prediction/events/{id}

100 credits per API call

Retrieve a single prediction-market event by its platform-native identifier. Useful for hydrating event detail pages or following links from a listing.

Accepted id formats:

Other notes

- [List prediction-market events](https://docs.tatum.io/reference/getpredictioneventsv4.md):

/v4/data/prediction/events

100 credits per API call

List prediction-market events across supported platforms. An event is a top-level grouping of one or more markets that share a common question or outcome set (e.g. "2028 US Presidential Election"). Each event row includes a roll-up of nested market counts, total volume, and total liquidity, with an opt-in to embed the full list of nested markets via includeMarkets=true.

Supported platforms (filter via platform or omit for a cross-platform feed):

Filtering, sorting and pagination

Other notes

- [Get a prediction market by ID](https://docs.tatum.io/reference/getpredictionmarketbyidv4.md):

/v4/data/prediction/markets/{id}

100 credits per API call

Retrieve a single prediction market by its platform-native identifier.

Accepted id formats:

Other notes

- [Get current market orderbook](https://docs.tatum.io/reference/getpredictionmarketorderbookv4.md):

/v4/data/prediction/markets/{id}/orderbook

100 credits per API call

Current orderbook snapshot for one side of a market. The orderbook is per-outcome — pass side=yes or side=no to choose which outcome's book you want. Returns top-of-book through to depth levels of bids and asks, with a computed quoted-liquidity figure within 1% and 5% of the midpoint.

Other notes

- [Get top holders of a market](https://docs.tatum.io/reference/getpredictionmarketpositionsv4.md):

/v4/data/prediction/markets/{id}/positions

100 credits per API call

Top holders of a market grouped by outcome token. Each top-level row in the response is one outcome (e.g. YES, NO); under it sits the list of wallets currently holding that outcome, ordered by the chosen sortBy metric. Useful for "who's on each side of this bet" leaderboards on a market-detail page.

Platform support

Filtering, sorting and pagination

- [Get market price history](https://docs.tatum.io/reference/getpredictionmarketpricehistoryv4.md):

/v4/data/prediction/markets/{id}/history

200 credits per API call

Historical OHLC price candles for a market over a time window. Used to power chart views — every candle includes open / high / low / close prices plus the in-bucket trade volume.

Filtering

Other notes

- [Get current market price](https://docs.tatum.io/reference/getpredictionmarketpricev4.md):

/v4/data/prediction/markets/{id}/price

100 credits per API call

Current price snapshot for a single market. Returns per-outcome quotes (best bid / best ask / sizes), the implied midpoint, spread, last trade price and rolling 24-hour volume. Useful for ticker-style dashboards and pre-trade previews.

Other notes

- [List prediction markets](https://docs.tatum.io/reference/getpredictionmarketsv4.md):

/v4/data/prediction/markets

100 credits per API call

List prediction markets across supported platforms. A market is a single binary or multi-outcome question (e.g. "Will candidate X win?"); it belongs to a parent event when one is defined upstream. Each row carries pricing-friendly roll-ups (volume, liquidity), the current outcome set, and on-chain references on platforms where they exist.

Supported platforms (filter via platform or omit for a cross-platform feed):

Filtering, sorting and pagination

Other notes

- [Get recent market trades](https://docs.tatum.io/reference/getpredictionmarkettradesv4.md):

/v4/data/prediction/markets/{id}/trades

100 credits per API call

Recent trades feed for a single market. Each row is one fill — outcome side, buy/sell direction, price, size and notional value — with the taker wallet attribution when the upstream exposes it.

Filtering and pagination

Other notes

- [Unified search (events / tags / profiles)](https://docs.tatum.io/reference/getpredictionsearchv4.md):

/v4/data/prediction/search

50 credits per API call

Unified search across events, tags and trader profiles. One query returns all three result types in a single response — pick the branches you care about with searchTags and searchProfiles. Designed for discovery surfaces (autocomplete, top-of-page search) where a single query needs to surface the most relevant entities of any kind.

Platform support

Filtering and pagination

Other notes

- [Get top traders leaderboard](https://docs.tatum.io/reference/getpredictiontoptradersv4.md):

/v4/data/prediction/top-traders

200 credits per API call

Ranked leaderboard of top traders, scoped by category and time period. Each row carries the trader's wallet, display fields (username, X handle, profile image), verified-badge status, and the metrics used for ranking (volume and PnL within the requested window).

Platform support

Filtering, sorting and pagination

Other notes

- [Get wallet activity feed](https://docs.tatum.io/reference/getpredictionwalletactivityv4.md):

/v4/data/prediction/wallets/{address}/activity

100 credits per API call

Full wallet event feed — covers every event type the upstream emits: TRADE, SPLIT, MERGE, REDEEM, REWARD, CONVERSION, MAKER_REBATE and REFERRAL_REWARD. Unlike /wallets/{address}/trades, this endpoint includes non-trade events and supports a native time-range filter — useful for activity logs, audit trails and tax exports.

Platform support

Filtering, sorting and pagination

Other notes

- [Get wallet closed positions](https://docs.tatum.io/reference/getpredictionwallethistoryv4.md):

/v4/data/prediction/wallets/{address}/history

100 credits per API call

Closed and resolved positions for a wallet — one row per settled position (winning or losing), with the realised PnL, lifetime cost basis, settlement price, and the parent market's question and outcome metadata. Useful for backtest-style P&L drill-downs and tax exports.

Platform support

Filtering, sorting and pagination

Other notes

- [Get wallet markets-traded count](https://docs.tatum.io/reference/getpredictionwalletmarketstradedv4.md):

/v4/data/prediction/wallets/{address}/markets-traded

50 credits per API call

Count of distinct markets a wallet has ever traded. Lifetime metric — useful as a quick activity signal alongside /wallets/{address}/value without paying the cost of pulling the full trade history.

Platform support

Other notes

- [Get wallet portfolio summary](https://docs.tatum.io/reference/getpredictionwalletportfoliov4.md):

/v4/data/prediction/wallets/{address}/portfolio

200 credits per API call

Aggregated portfolio summary for a single wallet. Returns position counts (open, redeemable, closed), unrealised and realised PnL, total cost basis, active notional, win rate and ROI — all computed over the requested period. Useful as the headline KPI block on a wallet detail page.

Platform support

Filtering

Other notes

- [Get wallet open positions](https://docs.tatum.io/reference/getpredictionwalletpositionsv4.md):

/v4/data/prediction/wallets/{address}/positions

100 credits per API call

Current open positions held by a wallet — one row per outcome token, with unrealised PnL, current value, lifetime cost basis, and the parent market's question, slug and outcome metadata. Useful for "what's in my portfolio right now" views and per-market drill-downs.

Platform support

Filtering, sorting and pagination

Other notes

- [Get wallet trade history](https://docs.tatum.io/reference/getpredictionwallettradesv4.md):

/v4/data/prediction/wallets/{address}/trades

100 credits per API call

Trade-only fills for a wallet — one row per trade, with the buy/sell side, outcome metadata, size, price, transaction hash, and the trader's profile fields (display name, profile image). Trade-only — does not include non-trade events like splits, merges, redemptions or rewards (use /wallets/{address}/activity for the full feed).

Platform support

Filtering and pagination

Other notes

- [Get wallet open-position notional](https://docs.tatum.io/reference/getpredictionwalletvaluev4.md):

/v4/data/prediction/wallets/{address}/value

50 credits per API call

Total USD notional of a wallet's currently open positions. A single-number endpoint — useful for sparkline-style summaries and headline KPIs without paying the cost of pulling the full positions list.

Platform support

Filtering

Other notes

- [Get current staked assets by validator](https://docs.tatum.io/reference/getcurrentstakedassetsbyvalidatorv4.md):

/v4/data/staking/native/current-assets-by-validator

100 credits per API call

Get current staked assets grouped by validator for a wallet address.

Supported blockchains:

To get started:

- [Get current staked assets](https://docs.tatum.io/reference/getcurrentstakedassetsv4.md):

/v4/data/staking/native/current-assets

100 credits per API call

Get current staked assets for a wallet address. This endpoint returns information about all stake accounts/validators owned by the address, including their state, delegated amount, active amount, and associated validators.

Supported blockchains:

To get started:

- [Get liquid staking current assets](https://docs.tatum.io/reference/getliquidstakingcurrentassetsv4.md):

/v4/data/staking/liquid/current-assets

100 credits per API call

Get liquid staked assets for a wallet address. Returns all liquid staking token balances held by the address from top pools (Lido, Rocket Pool, Marinade, Jito, etc.).

Supported blockchains:

To get started:

- [Get liquid staking pools](https://docs.tatum.io/reference/getliquidstakingpoolsv4.md):

/v4/data/staking/liquid/pools

50 credits per API call

Get the top liquid staking pools for a blockchain. Returns all supported liquid staking tokens (protocol, symbol, token address) that can be used with /staking/liquid/current-assets.

Supported blockchains:

To get started:

- [Get staked account rewards - Batch](https://docs.tatum.io/reference/getstakedaccountrewardsbatchv4.md):

/v4/data/staking/native/rewards/batch

100 credits per stake address per API call

Get historical staking rewards for up to 50 stake accounts in a single request. Returns the same per-address shape as /staking/native/rewards, one entry per input address, in input order.

Supported blockchains:

To get started:

- [Get staked account rewards](https://docs.tatum.io/reference/getstakedaccountrewardsv4.md):

/v4/data/staking/native/rewards

100 credits per API call

Get historical staking rewards for a stake account. Returns detailed reward information including epoch, block number, reward amount, and post-balance for each reward period.

Supported blockchains:

To get started:

- [Get staking pools](https://docs.tatum.io/reference/getstakingpoolsv4.md):

/v4/data/staking/native/pools

50 credits per API call

Get all available staking pools (validators) on Solana. This endpoint returns comprehensive information about all validators including their address, identity, commission, stake amounts, APY, and additional metadata such as name, website, and location.

Supported blockchains:

To get started:

- [Get staking transactions](https://docs.tatum.io/reference/getstakingtransactionsv4.md):

/v4/data/staking/native/transactions

100 credits per API call

Get staking-related transactions for a Solana stake account or Ethereum withdrawal address. Returns deposits, topups, withdrawals, and credential changes.

Response shape differs by chain: Solana returns stakeAddress and transactions with stakeAddress/validatorAddress; Ethereum returns withdrawalAddress and transactions with withdrawalAddress/validatorIndex/validatorPubkey.

Supported blockchains:

Ethereum-specific: For beacon-only events (withdrawals, credential_change), txHash is a synthetic reference ID, not an on-chain execution transaction hash. blockNumber for credential_change is the consensus slot. amount is in ETH. Results are limited to 100,000 transactions per request; use type, timeFrom/timeTo, or epochFrom/epochTo filters for addresses with more history.

To get started:

- [Staking API](https://docs.tatum.io/reference/staking.md): Fetch real-time Solana staking data including accounts, validators, rewards, and transactions. Power your dashboards, wallets, and DeFi apps using Tatum’s Staking API. - [Storage API](https://docs.tatum.io/reference/storage-api.md): Upload files to Walrus decentralized storage, track certification status, list upload jobs, and manage automatic renewals with Tatum’s Storage API. - [Cancel Walrus storage renewal](https://docs.tatum.io/reference/storagecancelrenewal.md):

/v4/data/storage/upload/{jobId}

Soft cancel: 0 credits. Instant delete: billed via Walrus on-chain storage fees (same credit check as upload).

Cancel renewal for a certified Walrus storage upload. Two modes are available:

Both modes are idempotent. The job must be in CERTIFIED status and not already decommissioned.

- [Get Walrus storage upload status](https://docs.tatum.io/reference/storagegetuploadstatus.md):

/v4/data/storage/upload/{jobId}

0 credits per API call

Get the current status of a Walrus storage upload job. Poll this endpoint after POST /v4/data/storage/upload to track progress through the lifecycle: PENDINGUPLOADINGCERTIFIED.

Once status is CERTIFIED, the response includes downloadUrlByQuiltId and downloadUrlByQuiltPatchId which can be used to retrieve the file from any Walrus aggregator node. The walrusStartEpoch and walrusEndEpoch fields indicate the active storage window (one epoch ≈ 2 weeks).

If status is FAILED, the errorMessage field contains the reason. Failed jobs are not retried automatically — submit a new upload request to try again.

- [List Walrus storage uploads](https://docs.tatum.io/reference/storagelistuploads.md):

/v4/data/storage/uploads

0 credits per API call

List all upload jobs for the current API key, ordered by most recently created. Use limit and offset to paginate through results.

- [Upload a file to Walrus storage](https://docs.tatum.io/reference/storageupload.md):

/v4/data/storage/upload

Billed via Walrus on-chain storage fees — no standard API credits consumed per call.

Upload a file to Walrus decentralized storage. Files are staged in GCS and then certified on-chain by the Walrus worker asynchronously. The response immediately returns a jobId and a pre-computed blobId; poll GET /v4/data/storage/upload/{jobId} to track certification progress.

Epochs and renewals: Walrus storage is divided into epochs (approximately 2 weeks each). Files are stored for the platform default of ~4 epochs (~8 weeks) and are automatically renewed by Tatum before each epoch window closes. Renewal fees (SUI/WAL on-chain costs × your plan rate) are charged to your Walrus storage balance. To stop automatic renewal, call DELETE /v4/data/storage/upload/{jobId}.

- [Check owner of token](https://docs.tatum.io/reference/checkownerv4.md):

/v4/data/owners/address

50 credit per API call

> 📘 **Note for v3 API users:** > > As part of our documentation consolidation, we removed the dedicated page for GET /v3/data/owners/address. Users can refer to GET /v4/data/owners/address for the latest documentation, as both endpoints function the same—simply replace v4 with v3 in the API URL if using the v3 version.

Check if wallet address owns any specified token (ERC-20, ERC-721 or ERC-1155) on the following blockchains:

To get started:

- [Get Exchange Rate History by Symbol](https://docs.tatum.io/reference/getexchangeratehistorybysymbol.md):

/v4/data/rate/history

50 credits per API call

Retrieves token prices, FDV, and liquidity at any block or timestamp, including percentage change for specified lookback periods.

Supported blockchains:

- [Get newest tokens](https://docs.tatum.io/reference/getnewesttokensv4.md):

/v4/data/tokens/newest

400 credits per API call

Returns the newest tokens minted on the blockchain based on mint timestamp, filtered by an activity window and optional category.

Supported blockchains:

> 📘 Note for Free Users > > As a free user, your data is cached on a 1-day refresh cycle, and wallet queries run through tatumio.eth. This setup helps lower costs so you can easily try out the API. For real-time data, faster syncs, and the full capability of our platform, we recommend upgrading to a paid plan. - [Get owners of a token](https://docs.tatum.io/reference/getownersv4.md):

/v4/data/owners

50 credits per API call

> 📘 **Note for v3 API users:** > > As part of our documentation consolidation, we removed the dedicated page for GET /v3/data/owners. Users can refer to GET /v4/data/owners for the latest documentation, as both endpoints function the same—simply replace v4 with v3 in the API URL if using the v3 version.

Get all addresses that own your favorite token (ERC-20, ERC-721 or ERC-1155)! Our API lets you search for all token owners on:

To get started:

- [Get popular tokens history](https://docs.tatum.io/reference/getpopulartokenshistoryv4.md):

/v4/data/tokens/popular/history

150 credits per API call

Returns the most popular tokens across the entire blockchain for a specified date in time and optional category. Popularity is determined by the token's number of active wallets during the specified calendar date.

Supported blockchains:

> 📘 Note for Free Users > > As a free user, your data is cached on a 1-day refresh cycle, and wallet queries run through tatumio.eth. This setup helps lower costs so you can easily try out the API. For real-time data, faster syncs, and the full capability of our platform, we recommend upgrading to a paid plan. - [Get popular tokens](https://docs.tatum.io/reference/getpopulartokensv4.md):

/v4/data/tokens/popular

150 credits per API call

Returns the most popular tokens across the entire blockchain for a specified activity window and optional category. Popularity is determined by the token's number of active wallets during the activity window.

Supported blockchains:

> 📘 Note for Free Users > > As a free user, your data is cached on a 1-day refresh cycle, and wallet queries run through tatumio.eth. This setup helps lower costs so you can easily try out the API. For real-time data, faster syncs, and the full capability of our platform, we recommend upgrading to a paid plan. - [Get information about collection or token](https://docs.tatum.io/reference/gettokensv4.md):

/v4/data/tokens

20 credit per API call

> 📘 **Note for v3 API users:** > > As part of our documentation consolidation, we removed the dedicated page for GET /v3/data/tokens. Users can refer to GET /v4/data/tokens for the latest documentation, as both endpoints function the same—simply replace v4 with v3 in the API URL if using the v3 version.

Get information about your favorite token! Our API lets you search for all tokens on:

To get started:

- [Get transactions DNA](https://docs.tatum.io/reference/gettransfersdnav4.md):

/v4/data/transactions/dna

5000 credits per API call

This endpoint retrieves trade data across the entire blockchain enriched with WalletDNA metrics. Developers can filter trades by size, side, or wallet behavior (IQ, Reputation, Flow, Mass, Epoch, Maker Presence). Responses include detailed trade, token, and wallet profiles, enabling advanced segmentation, smart-money tracking, and high-signal on-chain analytics in real time.

Supported blockchains:

> 📘 Note for Free Users > > As a free user, your data is cached on a 1-day refresh cycle, and wallet queries run through tatumio.eth. This setup helps lower costs so you can easily try out the API. For real-time data, faster syncs, and the full capability of our platform, we recommend upgrading to a paid plan. - [Get trending tokens](https://docs.tatum.io/reference/gettrendingtokensv4.md):

/v4/data/tokens/trending

250 credits per API call

Returns the top trending tokens on the specified blockchain, ranked by recent trading activity, volume, liquidity, and holder growth. Each entry includes price, market cap, liquidity, holder count, and per-timeframe (1h/4h/12h/24h) statistics for price change, volume, transactions, buyers, and sellers.

Supported blockchains:

- [Token API](https://docs.tatum.io/reference/token-api.md): Find token information like metadata, supply & more cross chains with a unified api. - [Get transaction history](https://docs.tatum.io/reference/gettransactionhistoryv4.md):

/v4/data/transaction/history

20 credits per API call

Get transaction history on the following blockchains:

To get started:

- [Get transactions by hash](https://docs.tatum.io/reference/gettransactionsbyhashv4.md):

/v4/data/transactions/hash

10 credits per API call

> 📘 **Note for v3 API users:** > > As part of our documentation consolidation, we deprecated the endpoint for GET /v3/data/transactions/hash. Users can refer to GET /v4/data/transactions/hash for the latest documentation, as both endpoints function the same.

Get transactions by hash on the following blockchains:

To get started:

- [Transactions API](https://docs.tatum.io/reference/transactions-api.md): Retrieve transaction history or details by hash across blockchains with one API. - [Get wallet reputation portfolio](https://docs.tatum.io/reference/get_v4-data-wallet-reputation-portfolio.md):

/v4/data/wallet/reputation/portfolio

10000 credits per API call per address

> 📘 Note for Free Users > > 1000 credits per API call per address > > As a free user, your data is cached on a 1-day refresh cycle, and wallet queries run through tatumio.eth. This setup helps lower costs so you can easily try out the API. For real-time data, faster syncs, and the full capability of our platform, we recommend upgrading to a paid plan.

Returns composite reputation scores along with per-token scores for all tokens held in each wallet.

Supported blockchains:

- [Get unspent UTXOs for a batch of addresses](https://docs.tatum.io/reference/getutxosbyaddressbatchv4.md):

/v4/data/utxos/batch

100 credits per address for each API call.

> 📘 **Note for v3 API users:** > > As part of our documentation consolidation, we removed the dedicated page for POST /v3/data/utxos/batch. Users can refer to POST /v4/data/utxos/batch for the latest documentation, as both endpoints function the same—simply replace v4 with v3 in the API URL if using the v3 version.

Retrieve unspent UTXOs for each provided address, up to a specified total amount. If you want to prepare a transaction on UTXO-based chains like Bitcoin, you need to enter unspent UTXOs to be able to perform a transaction. By providing ```totalValue``` as a total, our API will return a list of UTXOs that will be enough to cover the transaction.

Our API lets you get the unpenst UTXOs for a specific address on:

To get started:

- [Get unspent UTXOs for an address](https://docs.tatum.io/reference/getutxosbyaddressv4.md):

/v4/data/utxos

100 credits per API call

> 📘 **Note for v3 API users:** > > As part of our documentation consolidation, we removed the dedicated page for GET /v3/data/utxos. Users can refer to GET /v4/data/utxos for the latest documentation, as both endpoints function the same—simply replace v4 with v3 in the API URL if using the v3 version.

Get unspent UTXOs for a specific address up to a specific total amount. If you want to prepare a transaction on UTXO-based chains like Bitcoin, you need to enter unspent UTXOs to be able to perform a transaction. By providing ```totalValue``` as a total, our API will return a list of UTXOs that will be enough to cover the transaction.

Our API lets you get the unpenst UTXOs for a specific address on:

To get started:

- [Get balances by time of addresses](https://docs.tatum.io/reference/getwalletbalancebytimev4.md):

/v4/data/wallet/balance/time

100 credits per API call

Get native balances for a specific wallet addresses by time on the following blockchains:

To get started, provide a chain name, comma-separated list of addresses and specify one of the filters listed below (combination of the filters is not allowed):

If you pass a block number that is in the future (beyond the current latest block), the system will return the balance for the latest block.

If you pass a time or Unix timestamp that is in the future, the system will also return the balance for the latest block.

If you pass a time or Unix timestamp in the past (dating back to or earlier than the blockchain's genesis block), the system will return the balance for the first block (genesis block).

- [Get wallet portfolio](https://docs.tatum.io/reference/getwalletportfoliov4.md):

/v4/data/wallet/portfolio

50 credits per API call

Get portfolio balances of native, fungible tokens (ERC-20) or NFTs (ERC-721 and ERC-1155) for a specific wallet address on the following blockchains:

To get started:

- [Get wallet reputation by tokens](https://docs.tatum.io/reference/getwalletreputationtokensv4.md):

/v4/data/wallet/reputation/tokens

1500 credits per API call per address

Returns reputation scores for a wallet across one or more specific tokens.

Supported blockchains:

> 📘 Note for Free Users > > 150 credits per API call per address > > As a free user, your data is cached on a 1-day refresh cycle, and wallet queries run through tatumio.eth. This setup helps lower costs so you can easily try out the API. For real-time data, faster syncs, and the full capability of our platform, we recommend upgrading to a paid plan. - [Get wallet reputation](https://docs.tatum.io/reference/getwalletreputationv4.md):

/v4/data/wallet/reputation

5000 credits per API call per address

Returns reputation scores for one or more wallets using on-chain behavioral analysis across their token portfolio.

Supported blockchains:

> 📘 Note for Free Users > > 500 credits per API call per address > > As a free user, your data is cached on a 1-day refresh cycle, and wallet queries run through tatumio.eth. This setup helps lower costs so you can easily try out the API. For real-time data, faster syncs, and the full capability of our platform, we recommend upgrading to a paid plan. - [Wallet API](https://docs.tatum.io/reference/wallet-api.md): Get wallet balances, portfolio insights, and UTXOs across multiple blockchains with one API. - [Web3 Name Service API](https://docs.tatum.io/reference/web3-name-service.md): Resolve Web3 names to blockchain addresses instantly with a unified API. - [Resolve address by domain](https://docs.tatum.io/reference/nametoaddressv4.md):

/v4/data/ns/name

20 credits per API call

Resolve a human-readable blockchain domain name into its corresponding wallet address for supported blockchains:

To get started:

- [Notifications Overview](https://docs.tatum.io/reference/notifications-overview.md): Our Notifications product makes on-chain alerts effortless. Simply create an alert for an address, and we’ll send you a webhook as soon as it triggers a transaction. - [Disable HMAC webhook digest](https://docs.tatum.io/reference/disablewebhookhmac.md): > This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.

/v4/subscription

Disable HMAC hash ID on the fired webhooks from Tatum API.

- [Enable HMAC webhook digest](https://docs.tatum.io/reference/enablewebhookhmac.md): > This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.

/v4/subscription

Enable HMAC hash ID on the fired webhooks from Tatum API. In order to make sure that a webhook is sent by us, we have the possibility to sign it with the HMAC Sha512 Hex algorithm.
To verify that a webhook is sent by us

  1. Get a webhook x-payload-hash header value and payload as it is as a JSON file.
  2. Convert the HTTP webhook body to stringify JSON without any spaces. In JavaScript, you would do it like this
    JSON.stringify(req.body)
  3. Perform calculations on your side to create a digest using Secret Key, webhook payload in bytes and HMAC SHA512 algorithm. JavaScript example:
    require('crypto').createHmac('sha512', hmacSecret).update(JSON.stringify(req.body)).digest('base64')
    .
  4. Compare x-payload-hash header value with calculated digest as a Base64 string.
  5. - [Count of found entities for get webhook request](https://docs.tatum.io/reference/getallwebhookscount.md): > This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.

    /v4/subscription/webhook/count

    Count of webhooks that were found from /v4/subscription/webhook

    - [List all executed webhooks](https://docs.tatum.io/reference/getallwebhooksv4.md): > This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.

    /v4/subscription/webhook

    List all webhooks.

    - [Notifications](https://docs.tatum.io/reference/notifications-reference.md) - [Retry a failed webhook](https://docs.tatum.io/reference/retrywebhookv4.md):

    /v4/subscription/webhook/{id}/retry

    Retry a failed webhook by re-queueing it for delivery. Only webhooks in the failed state can be retried.

    - [Supported Chains](https://docs.tatum.io/reference/notifications-supported-chains.md) - [Create an alert](https://docs.tatum.io/reference/createsubscription.md): > 📘 **Tip:** To create Notifications on the mainnet or testnet you can use your respective keys from the Dashboard.

    /v3/subscription

    50 credits per sent Notification + 50 credits per day per alert

    For Free plans, there is a monthly limit of sent webhooks, which is 1000.

    If the webhook is sent unsuccessfully, it will be retried. The number of retries depends on the plan.

    Create an alert as an HTTP web hook.

    The following alert types are available:

    In case of unsuccesful web hook response status - other then 2xx - web hook is repeated 9 more times with exponential backoff. Parameters are T = 15 * 2.7925^9, where 15 is interval in s, backoff rate is 2.7925 and 9 is current number of retries. Last web hook is fired after 24 hours approximatelly. After last failed attempt, web hook is deleted from our system. The 2xx response must be returned in 10 seconds after web hook is fired.
    Result of the operation is an alert ID, which can be used to cancel the alert or obtain additional data connected to it like reports.

    - [Create an alert](https://docs.tatum.io/reference/createsubscriptionv4.md):

    /v4/subscription

    50 credits per sent Notification + 50 credits per day per alert

    Create and manage blockchain event notification alerts. This endpoint allows you to receive real-time webhook alerts for address activity, token transfers, and native currency transactions across supported blockchains.

    Tip: Notifications are formatted using Templates. We recommend using the enriched template because it provides clean, human-readable enhanced data with token metadata. Learn more: 👉 Learn more

    Supported Notification Types:

    For more alert types & chain support, see: 👉 Alerts Overview

    Restrictions

    Each alert must be unique within your API key based on the following fields. If a matching alert already exists, creation will be rejected:

    To monitor the same address with different configurations (e.g. different conditions or finality), use a different webhook URL for each alert.

    Webhook Response Format

    Recommended Default: templateId = "enriched"

    If you do not specify a custom template, the response will use the legacy format. However, the enriched template is recommended because it provides structured, human-readable fields and token metadata.

    To learn about legacy format, custom templates, or enriched_with_raw_data, visit: 👉 Learn more

    Example: Enriched Template Webhook Payload

       {     "data": {       "kind": "transfer",       "blockHash": "0x1234567890abcdef...",       "blockNumber": 18500000,       "blockTimestamp": 1699123456,       "txId": "0xabcdef1234567890...",       "currency": "ETH",       "txTimestamp": 1699123456,       "from": "0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6",       "to": "0x8ba1f109551bD432803012645Hac136c",       "value": "1000000000000000000",        "contractAddress": "0xA0b86a33E6441b8c4C8C0C8C0C8C0C8C0C8C0C8C0C",       "tokenId": "12345",        "additionalData": {         "gasUsed": "21000",         "gasPrice": "20000000000"       },        "tokenMetadata": {         "type": "nft",         "decimals": 0,         "symbol": "NFT",         "name": "My NFT",         "uri": "https://api.example.com/metadata/12345"       },        "subscriptionId": "64f1a2b3c4d5e6f7g8h9i0j1",       "subscriptionType": "ADDRESS_EVENT"     },     "location": "...",     "scheme": "..."   } 
    - [Cancel existing alert](https://docs.tatum.io/reference/deletesubscription.md): > This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.

    /v4/subscription/{id}

    Cancel existing alert.

    - [Count of alerts](https://docs.tatum.io/reference/getsubscriptionscount.md): > This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.

    /v4/subscription/count

    Count of alerts that were found from /v4/subscription

    - [List all active alerts](https://docs.tatum.io/reference/getsubscriptionsv4.md):

    /v4/subscription

    List all active alerts.

    - [Get alert by ID](https://docs.tatum.io/reference/getsubscriptionv4.md):

    /v4/subscription/{id}

    Get alert by ID.

    - [Update alert](https://docs.tatum.io/reference/updatesubscription.md): > This endpoint is compatible with our deprecated v3 Notifications product. To use it with v3, simply replace 'v4' with 'v3' in the request URL.

    /v4/subscription/{id}

    Update alert.

    - [Update alerts by chain](https://docs.tatum.io/reference/updatesubscriptionsbychain.md):

    /v4/subscription/batch

    Update all alerts for specified chain.

    - [Create a notification template (V4)](https://docs.tatum.io/reference/createnotificationtemplate.md):

    /v4/subscription/template

    Create a custom notification template. Afterwards you can use its id as templateId when creating or updating alerts (only available on TRON and EVM for now).

    - [Delete notification template (V4)](https://docs.tatum.io/reference/deletenotificationtemplate.md):

    /v4/subscription/template/{id}

    Delete existing notification template and remove it from all alerts using it. If the template is used as the default for the account, the system default (enriched) will be set instead.

    - [Get the default notification template](https://docs.tatum.io/reference/getdefaultnotificationtemplate.md):

    /v4/subscription/template/default

    Get the default notification template for the current API key. This template is used for alerts that do not have an explicit templateId set.

    - [List all notification templates (V4)](https://docs.tatum.io/reference/getnotificationtemplates.md):

    /v4/subscription/template

    List all custom templates.

    - [Templates](https://docs.tatum.io/reference/templates-refrence.md) - [Update the default notification template](https://docs.tatum.io/reference/updatedefaultnotificationtemplate.md):

    /v4/subscription/template/default

    Update the default notification template for the current API key. Accepts enriched, enriched_with_raw_data, or a custom template ID. Custom template must exist. Deprecated legacy is also accepted.

    - [Update notification template (V4)](https://docs.tatum.io/reference/updatenotificationtemplate.md):

    /v4/subscription/template/{id}

    Update notification template.

    - [❓How to connect to RPC?](https://docs.tatum.io/reference/how-to-connect-rpc-gateway.md): Learn how to connect to Tatum RPC Gateway with intelligent balancing, Smart Gateway features, and discover available methods and AI context endpoints. - [Abstract](https://docs.tatum.io/reference/rpc-abstract.md): Explore the Abstract blockchain—a fast, low-cost Layer 2 rollup on Ethereum—via public RPC endpoints. Reference the developer-friendly API guide to effortlessly query chain data, dispatch transactions, and inspect network status. Access quick start resources for building consumer-grade dApps, especially around culture, communities, SocialFi, and NFTs. Benefit from EVM compatibility and ZK-rollup security, bringing familiar tooling under a scalable infrastructure. - [Access Algorand Algod GET node endpoints](https://docs.tatum.io/reference/algonodegetdriver.md):

    1 credit per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based url to connect directly to the Algorand node provided by Tatum. You can check al available APIs here - https://developer.algorand.org/docs/rest-apis/algod/v2/.
    Example call for Get Block is described in the response. https://developer.algorand.org/docs/rest-apis/algod/v2/#get-v2blocksround.
    URL used for this call would be

    https://api.tatum.io/v3/algorand/node/algod/YOUR_API_KEY/v2/blocks/16775567

    - [Access Algorand Indexer GET node endpoints](https://docs.tatum.io/reference/algonodeindexergetdriver.md):

    1 credit per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based url to connect directly to the Algorand node provided by Tatum. You can check all available APIs here - https://developer.algorand.org/docs/rest-apis/indexer/.
    Example call for Get Tx By ID is described in the response. https://developer.algorand.org/docs/rest-apis/indexer/#get-v2transactionstxid.
    URL used for this call would be

    https://api.tatum.io/v3/algorand/node/indexer/YOUR_API_KEY/v2/transactions/HNIQ76UTJYPOLZP5FWODYABBJPYPGJNEM2QEJSMDMQRWEKHEYJHQ

    - [Access Algorand Algod POST node endpoints](https://docs.tatum.io/reference/algonodepostdriver.md):

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based url to connect directly to the Algorand node provided by Tatum. You can check al available APIs here - https://developer.algorand.org/docs/rest-apis/algod/v2/.
    Example call for Broadcast a raw transaction is described in the response. https://developer.algorand.org/docs/rest-apis/algod/v2/#post-v2transactions.
    URL used for this call would be

    https://api.tatum.io/v3/algorand/node/algod/YOUR_API_KEY/v2/transactions

    - [Enable receiving asset on account](https://docs.tatum.io/reference/algorandblockchainreceiveasset.md):

    2 credits per API call.


    Enable accepting Algorand asset on the sender account.

    This operation needs the private key of the blockchain address. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Send Algos to an Algorand account](https://docs.tatum.io/reference/algorandblockchaintransfer.md):

    2 credits per API call

    Send Algos from one Algorand address to the other one.

    Signing a transaction

    When sending Algos, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Broadcast signed Algorand transaction](https://docs.tatum.io/reference/algorandbroadcast.md):

    2 credits per API call.


    Broadcast signed transaction to Algorand blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate Algorand account address from private key](https://docs.tatum.io/reference/algorandgenerateaddress.md):

    1 credit per API call.


    Generate Algorand account deposit address from private key.

    - [Generate Algorand wallet](https://docs.tatum.io/reference/algorandgeneratewallet.md):

    1 credit per API call.


    Tatum supports Algorand wallets.

    - [Get Algorand Account balance](https://docs.tatum.io/reference/algorandgetbalance.md):

    1 credit per API call.


    Get Algorand account balance in ALGO.

    - [Get Algorand block by block round number](https://docs.tatum.io/reference/algorandgetblock.md):

    ⚠️ Deprecated: Get Algorand Block


    GET /v3/algorand/block/{roundNumber} is deprecated.

    Use GET /v4/data/blockchains/block

    Get block by hash or height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Get Algorand block by block round number.

    - [Get current block number](https://docs.tatum.io/reference/algorandgetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block Number


    GET /v3/algorand/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Get the current block number for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Get Algorand current block number. This is the number of the latest block in the blockchain.

    - [Get Algorand Transactions between from and to](https://docs.tatum.io/reference/algorandgetpaytransactionsbyfromto.md):

    1 credit per API call

    This endpoint is deprecated.


    Get Algorand transaction by specified period of time.

    - [Get Algorand Transaction](https://docs.tatum.io/reference/algorandgettransaction.md):

    ⚠️ Deprecated: Get Algorand Transaction


    GET /v3/algorand/transaction/{txid} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Get transaction by hash for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Get Algorand transaction by transaction id.

    - [Algorand](https://docs.tatum.io/reference/rpc-algorand.md): Explore Algorand blockchain, offering fast transactions via RPC gateway. Access detailed documentation for building scalable dApps and DeFi applications. - [broadcastTransaction](https://docs.tatum.io/reference/rpc-algorand-broadcasttransaction.md): Algorand RPC - [getAccount](https://docs.tatum.io/reference/rpc-algorand-getaccount.md): Algorand RPC - [getAccountApplicationInfo](https://docs.tatum.io/reference/rpc-algorand-getaccountapplicationinfo.md): Algorand RPC - [getAccountApplications](https://docs.tatum.io/reference/rpc-algorand-getaccountapplications.md): Algorand RPC - [getAccountApssLocalState](https://docs.tatum.io/reference/rpc-algorand-getaccountapsslocalstate.md): Algorand RPC - [getAccountAssetInfo](https://docs.tatum.io/reference/rpc-algorand-getaccountassetinfo.md): Algorand RPC - [getAccountAssets](https://docs.tatum.io/reference/rpc-algorand-getaccountassets.md): Algorand RPC - [getAccountCreatedAssets](https://docs.tatum.io/reference/rpc-algorand-getaccountcreatedassets.md): Algorand RPC - [getAccountInfo](https://docs.tatum.io/reference/rpc-algorand-getaccountinfo.md): Algorand RPC - [getAccounts](https://docs.tatum.io/reference/rpc-algorand-getaccounts.md): Algorand RPC - [getAccountTransactions](https://docs.tatum.io/reference/rpc-algorand-getaccounttransactions.md): Algorand RPC - [getApplication](https://docs.tatum.io/reference/rpc-algorand-getapplication.md): Algorand RPC - [getApplicationBox](https://docs.tatum.io/reference/rpc-algorand-getapplicationbox.md): Algorand RPC - [getApplicationBoxes](https://docs.tatum.io/reference/rpc-algorand-getapplicationboxes.md): Algorand RPC - [getApplicationDetails](https://docs.tatum.io/reference/rpc-algorand-getapplicationdetails.md): Algorand RPC - [getApplicationLogs](https://docs.tatum.io/reference/rpc-algorand-getapplicationlogs.md): Algorand RPC - [getApplications](https://docs.tatum.io/reference/rpc-algorand-getapplications.md): Algorand RPC - [getAsset](https://docs.tatum.io/reference/rpc-algorand-getasset.md): Algorand RPC - [getAssetBalances](https://docs.tatum.io/reference/rpc-algorand-getassetbalances.md): Algorand RPC - [getAssetInformation](https://docs.tatum.io/reference/rpc-algorand-getassetinformation.md): Algorand RPC - [getAssets](https://docs.tatum.io/reference/rpc-algorand-getassets.md): Algorand RPC - [getAssetTransactions](https://docs.tatum.io/reference/rpc-algorand-getassettransactions.md): Algorand RPC - [getBlock](https://docs.tatum.io/reference/rpc-algorand-getblock.md): Algorand RPC - [getBlockHash](https://docs.tatum.io/reference/rpc-algorand-getblockhash.md): Algorand RPC - [getGenesis](https://docs.tatum.io/reference/rpc-algorand-getgenesis.md): Algorand RPC - [getHealth](https://docs.tatum.io/reference/rpc-algorand-gethealth.md): Algorand RPC - [getLedgerStateDelta](https://docs.tatum.io/reference/rpc-algorand-getledgerstatedelta.md): Algorand RPC - [getLedgerSupply](https://docs.tatum.io/reference/rpc-algorand-getledgersupply.md): Algorand RPC - [getNodeStatus](https://docs.tatum.io/reference/rpc-algorand-getnodestatus.md): Algorand RPC - [getNodeStatusAfterRound](https://docs.tatum.io/reference/rpc-algorand-getnodestatusafterround.md): Algorand RPC - [getPendingTransactions](https://docs.tatum.io/reference/rpc-algorand-getpendingtransactions.md): Algorand RPC - [getTransaction](https://docs.tatum.io/reference/rpc-algorand-gettransaction.md): Algorand RPC - [getTransactionParams](https://docs.tatum.io/reference/rpc-algorand-gettransactionparams.md): Algorand RPC - [getTransactionProof](https://docs.tatum.io/reference/rpc-algorand-gettransactionproof.md): Algorand RPC - [getTransactions](https://docs.tatum.io/reference/rpc-algorand-gettransactions.md): Algorand RPC - [isHealthy](https://docs.tatum.io/reference/rpc-algorand-ishealthy.md): Algorand RPC - [isReady](https://docs.tatum.io/reference/rpc-algorand-isready.md): Algorand RPC - [simulateTransaction](https://docs.tatum.io/reference/rpc-algorand-simulatetransaction.md): Algorand RPC - [Arbitrum Nova](https://docs.tatum.io/reference/rpc-arbitrum-nova.md): Unlock high-speed, low-cost transactions with Arbitrum Nova blockchain and RPC gateway. Ideal for gaming and social dApps. - [Send ETH_ARB or fungible tokens (ERC-20) from account to account](https://docs.tatum.io/reference/arbblockchaintransfer.md):

    /v3/arb/transaction

    2 credits per API call

    Send ETH_ARB or Tatum-supported fungible tokens (ERC-20) from account to account.

    NOTE: Sending the fungible tokens is supported only on the mainnet.

    Signing a transaction
    When sending ETH_ARB, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Broadcast signed Arb transaction](https://docs.tatum.io/reference/arbbroadcast.md):

    /v3/arb/broadcast

    2 credits per API call

    Broadcast signed transaction to Arb blockchain.

    - [Generate Arb account address from Extended public key](https://docs.tatum.io/reference/arbgenerateaddress.md):

    /v3/arb/address/{xpub}/{index}

    1 credit per API call.


    Generates an Arb account deposit address from an Extended public key. The deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate Arb private key](https://docs.tatum.io/reference/arbgenerateaddressprivatekey.md):

    /v3/arb/wallet/priv

    1 credit per API call.


    Generates the private key of an address from a mnemonic for a given derivation path index. The private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Arb wallet](https://docs.tatum.io/reference/arbgeneratewallet.md):

    /v3/arb/wallet

    1 credit per API call.


    Tatum supports BIP44 HD wallets. Because they can generate 2^31 addresses from 1 mnemonic phrase, they are very convenient and secure. A mnemonic phrase consists of 24 special words in a defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows the BIP44 specification and generates for Arb wallets with the derivation path m/44'/60'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generates a BIP44 compatible Arb wallet.

    - [Get the ARB balance of an Arb account](https://docs.tatum.io/reference/arbgetbalance.md):

    ⚠️ Deprecated: Get Arb Balance


    GET /v3/arb/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get native balance for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get the balance of ARB of an Arb account.

    To get the balance of tokens, use the APIs for getting the balance of fungible tokens (ERC-20) and NFTs (ERC-721).

    - [Get Arb block by hash](https://docs.tatum.io/reference/arbgetblock.md):

    ⚠️ Deprecated: Get Arb Block


    GET /v3/arb/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Get block by hash or height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets an Arb block-by-block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/arbgetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block Number


    GET /v3/arb/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Get the current block height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets the current Arb block number. This is the number of the latest block in the blockchain.

    - [Get Arb Transaction](https://docs.tatum.io/reference/arbgettransaction.md):

    ⚠️ Deprecated: Get Arb Transaction


    GET /v3/arb/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Get transaction by hash for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get Arb transaction by transaction hash.

    - [Get count of outgoing Arb transactions](https://docs.tatum.io/reference/arbgettransactioncount.md):

    ⚠️ Deprecated: Get Arb Transaction Count


    GET /v3/arb/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Get outgoing transaction count for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Get a number of outgoing Arb transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/arbweb3driver.md):

    /v3/arb/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based web3 driver to connect directly to the Arb node provided by Tatum. To learn more about Arb Web3, visit the Arb developers' guide.

    - [Arbitrum One](https://docs.tatum.io/reference/rpc-arbitrum.md): Discover Arbitrum One, a Layer 2 scaling solution for Ethereum. Build faster, low-cost decentralized applications using the RPC gateway. - [debug_getbadblocks](https://docs.tatum.io/reference/rpc-arbitrum-debug_getbadblocks.md): Arbitrum RPC - [debug_storagerangeat](https://docs.tatum.io/reference/rpc-arbitrum-debug_storagerangeat.md): Arbitrum RPC - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-arbitrum-debug_traceblockbyhash.md): Arbitrum RPC - [debug_traceblockbynumber](https://docs.tatum.io/reference/rpc-arbitrum-debug_traceblockbynumber.md): Arbitrum RPC - [debug_tracecall](https://docs.tatum.io/reference/rpc-arbitrum-debug_tracecall.md): Arbitrum RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-arbitrum-debug_tracetransaction.md): Arbitrum RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-arbitrum-eth_blocknumber.md): Arbitrum RPC - [eth_call](https://docs.tatum.io/reference/rpc-arbitrum-eth_call.md): Arbitrum RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-arbitrum-eth_chainid.md): Arbitrum RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-arbitrum-eth_estimategas.md): Arbitrum RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-arbitrum-eth_feehistory.md): ArbitrumOne RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-arbitrum-eth_gasprice.md): Arbitrum RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-arbitrum-eth_getbalance.md): Arbitrum RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-arbitrum-eth_getblockbyhash.md): Arbitrum RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-arbitrum-eth_getblockbynumber.md): Arbitrum RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-arbitrum-eth_getblocktransactioncountbyhash.md): Arbitrum RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-arbitrum-eth_getblocktransactioncountbynumber.md): Arbitrum RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-arbitrum-eth_getcode.md): Arbitrum RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-arbitrum-eth_getlogs.md): Arbitrum RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-arbitrum-eth_getproof.md): Arbitrum RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-arbitrum-eth_getstorageat.md): Arbitrum RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-arbitrum-eth_gettransactionbyblockhashandindex.md): Arbitrum RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-arbitrum-eth_gettransactionbyblocknumberandindex.md): Arbitrum RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-arbitrum-eth_gettransactionbyhash.md): Arbitrum RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-arbitrum-eth_gettransactioncount.md): Arbitrum RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-arbitrum-eth_gettransactionreceipt.md): Arbitrum RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-arbitrum-eth_getunclecountbyblockhash.md): Arbitrum RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-arbitrum-eth_getunclecountbyblocknumber.md): Arbitrum RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-arbitrum-eth_maxpriorityfeepergas.md): Arbitrum RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-arbitrum-eth_sendrawtransaction.md): Arbitrum RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-arbitrum-web3_clientversion.md): Arbitrum RPC - [Aurora](https://docs.tatum.io/reference/rpc-aurora.md): Aurora is an EVM-compatible blockchain providing high throughput and low fees. Build decentralized apps using the RPC gateway. - [Invoke a method in a smart contract on Avalanche](https://docs.tatum.io/reference/avalancheblockchainsmartcontractinvocation.md):

    /v3/avalanche/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on Avalanche.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    If caller field is present instead of the private key, Tatum will sign the transaction with the managed private key connected to the caller address. This is applicable only for paid mainnet plans and all testnet plans. Keep in mind that the caller address must have enough access right to perform the action in the smart contract method.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send AVAX or fungible tokens (ERC-20) from account to account](https://docs.tatum.io/reference/avalancheblockchaintransfer.md):

    /v3/avalanche/transaction

    2 credits per API call

    Send AVAX or Tatum-supported fungible tokens (ERC-20) from account to account.

    NOTE: Sending the fungible tokens is supported only on the mainnet.

    Signing a transaction
    When sending AVAX, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Broadcast signed Avalanche transaction](https://docs.tatum.io/reference/avalanchebroadcast.md):

    /v3/avalanche/broadcast

    2 credits per API call

    Broadcast signed transaction to Avalanche blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate Avalanche account address from Extended public key](https://docs.tatum.io/reference/avalanchegenerateaddress.md):

    /v3/avalanche/address/{xpub}/{index}

    1 credit per API call.


    Generates an Avalanche account deposit address from an Extended public key. The deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate Avalanche private key](https://docs.tatum.io/reference/avalanchegenerateaddressprivatekey.md):

    /v3/avalanche/wallet/priv

    1 credit per API call.


    Generates the private key of an address from a mnemonic for a given derivation path index. The private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Avalanche wallet](https://docs.tatum.io/reference/avalanchegeneratewallet.md):

    /v3/avalanche/wallet

    1 credit per API call.


    Tatum supports BIP44 HD wallets. Because they can generate 2^31 addresses from 1 mnemonic phrase, they are very convenient and secure. A mnemonic phrase consists of 24 special words in a defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows the BIP44 specification and generates for Avalanche wallets with the derivation path m/44'/60'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generates a BIP44 compatible Avalanche wallet.

    - [Get the AVAX balance of an Avalanche account](https://docs.tatum.io/reference/avalanchegetbalance.md):

    ⚠️ Deprecated: Get Avalanche Balance


    GET /v3/avalanche/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get native balance for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get the balance of AVAX of an Avalanche account.

    To get the balance of tokens, use the APIs for getting the balance of fungible tokens (ERC-20) and NFTs (ERC-721).

    - [Get Avalanche block by hash](https://docs.tatum.io/reference/avalanchegetblock.md):

    ⚠️ Deprecated: Get Avalanche Block


    GET /v3/avalanche/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Get block by hash or height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets an Avalanche block-by-block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/avalanchegetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block Number


    GET /v3/avalanche/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Get the current block height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets the current Avalanche block number. This is the number of the latest block in the blockchain.

    - [Get Avalanche Transaction](https://docs.tatum.io/reference/avalanchegettransaction.md):

    ⚠️ Deprecated: Get Avalanche Transaction


    GET /v3/avalanche/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Get transaction by hash for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get Avalanche transaction by transaction hash.

    - [Get count of outgoing Avalanche transactions](https://docs.tatum.io/reference/avalanchegettransactioncount.md):

    ⚠️ Deprecated: Get Avalanche Transaction Count


    GET /v3/avalanche/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Get outgoing transaction count for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Get a number of outgoing Avalanche transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/avalancheweb3driver.md):

    /v3/avalanche/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based web3 driver to connect directly to the Avalanche node provided by Tatum. To learn more about Avalanche Web3, visit the Avalanche developers' guide.

    - [Avalanche](https://docs.tatum.io/reference/rpc-avalanche.md): Discover Avalanche, a fast and scalable blockchain with RPC access. Build dApps using its customizable subnets and comprehensive documentation. - [debug_getbadblocks](https://docs.tatum.io/reference/rpc-avalanche-debug_getbadblocks.md): Avalanche RPC - [debug_storageRangeAt](https://docs.tatum.io/reference/rpc-avalanche-debug_storagerangeat.md): Avalanche RPC - [debug_traceblock](https://docs.tatum.io/reference/rpc-avalanche-debug_traceblock.md): Avalanche RPC - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-avalanche-debug_traceblockbyhash.md): Avalanche RPC - [debug_traceblockbynumber](https://docs.tatum.io/reference/rpc-avalanche-debug_traceblockbynumber.md): Avalanche RPC - [debug_tracecall](https://docs.tatum.io/reference/rpc-avalanche-debug_tracecall.md): Avalanche RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-avalanche-debug_tracetransaction.md): Avalanche RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-avalanche-eth_blocknumber.md): Avalanche RPC - [eth_call](https://docs.tatum.io/reference/rpc-avalanche-eth_call.md): Avalanche RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-avalanche-eth_chainid.md): Avalanche RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-avalanche-eth_estimategas.md): Avalanche RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-avalanche-eth_feehistory.md): Avalanche RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-avalanche-eth_gasprice.md): Avalanche RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-avalanche-eth_getbalance.md): Avalanche RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-avalanche-eth_getblockbyhash.md): Avalanche RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-avalanche-eth_getblockbynumber.md): Avalanche RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-avalanche-eth_getblocktransactioncountbyhash.md): Avalanche RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-avalanche-eth_getblocktransactioncountbynumber.md): Avalanche RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-avalanche-eth_getcode.md): Avalanche RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-avalanche-eth_getlogs.md): Avalanche RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-avalanche-eth_getproof.md): Avalanche RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-avalanche-eth_getstorageat.md): Avalanche RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-avalanche-eth_gettransactionbyblockhashandindex.md): Avalanche RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-avalanche-eth_gettransactionbyblocknumberandindex.md): Avalanche RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-avalanche-eth_gettransactionbyhash.md): Avalanche RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-avalanche-eth_gettransactioncount.md): Avalanche RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-avalanche-eth_gettransactionreceipt.md): Avalanche RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-avalanche-eth_getunclecountbyblockhash.md): Avalanche RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-avalanche-eth_getunclecountbyblocknumber.md): Avalanche RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-avalanche-eth_maxpriorityfeepergas.md): Avalanche RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-avalanche-eth_sendrawtransaction.md): Avalanche RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-avalanche-web3_clientversion.md): Avalanche RPC - [Invoke a method in a smart contract on Base](https://docs.tatum.io/reference/baseblockchainsmartcontractinvocation.md):

    /v3/base/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on Base.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    If caller field is present instead of the private key, Tatum will sign the transaction with the managed private key connected to the caller address. This is applicable only for paid mainnet plans and all testnet plans. Keep in mind that the caller address must have enough access right to perform the action in the smart contract method.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Send BASE or fungible tokens (ERC-20) from account to account](https://docs.tatum.io/reference/baseblockchaintransfer.md):

    /v3/base/transaction

    2 credits per API call

    Send BASE or Tatum-supported fungible tokens (ERC-20) from account to account.

    NOTE: Sending the fungible tokens is supported only on the mainnet.

    Signing a transaction
    When sending BASE, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Broadcast signed Base transaction](https://docs.tatum.io/reference/basebroadcast.md):

    /v3/base/broadcast

    2 credits per API call

    Broadcast signed transaction to Base blockchain.

    - [Generate Base account address from Extended public key](https://docs.tatum.io/reference/basegenerateaddress.md):

    /v3/base/address/{xpub}/{index}

    1 credit per API call.


    Generates an Base account deposit address from an Extended public key. The deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate Base private key](https://docs.tatum.io/reference/basegenerateaddressprivatekey.md):

    /v3/base/wallet/priv

    1 credit per API call.


    Generates the private key of an address from a mnemonic for a given derivation path index. The private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Base wallet](https://docs.tatum.io/reference/basegeneratewallet.md):

    /v3/base/wallet

    1 credit per API call.


    Tatum supports BIP44 HD wallets. Because they can generate 2^31 addresses from 1 mnemonic phrase, they are very convenient and secure. A mnemonic phrase consists of 24 special words in a defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows the BIP44 specification and generates for Base wallets with the derivation path m/44'/60'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generates a BIP44 compatible Base wallet.

    - [Get the BASE balance of an Base account](https://docs.tatum.io/reference/basegetbalance.md):

    ⚠️ Deprecated: Get Base Balance


    GET /v3/base/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get native balance for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get the balance of BASE of an Base account.

    To get the balance of tokens, use the APIs for getting the balance of fungible tokens (ERC-20) and NFTs (ERC-721).

    - [Get Base block by hash](https://docs.tatum.io/reference/basegetblock.md):

    ⚠️ Deprecated: Get Base Block


    GET /v3/base/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Get block by hash or height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets an Base block-by-block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/basegetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block Number


    GET /v3/base/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Get the current block height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets the current Base block number. This is the number of the latest block in the blockchain.

    - [Get Base Transaction](https://docs.tatum.io/reference/basegettransaction.md):

    ⚠️ Deprecated: Get Base Transaction


    GET /v3/base/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Get transaction by hash for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get Base transaction by transaction hash.

    - [Get count of outgoing Base transactions](https://docs.tatum.io/reference/basegettransactioncount.md):

    ⚠️ Deprecated: Get Base Transaction Count


    GET /v3/base/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Get outgoing transaction count for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Get a number of outgoing Base transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/baseweb3driver.md):

    /v3/base/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based web3 driver to connect directly to the Base node provided by Tatum. To learn more about Base Web3, visit the Base developers' guide.

    - [Base](https://docs.tatum.io/reference/rpc-base.md): Explore Base, a new Layer 2 blockchain built to enhance scalability and security. Discover its potential for dApps, DeFi, and more. - [debug_getbadblocks](https://docs.tatum.io/reference/rpc-base-debug_getbadblocks.md): Base RPC - [debug_storagerangeat](https://docs.tatum.io/reference/rpc-base-debug_storagerangeat.md): Base RPC - [debug_traceblock](https://docs.tatum.io/reference/rpc-base-debug_traceblock.md): Base RPC - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-base-debug_traceblockbyhash.md): Base RPC - [debug_traceblockbynumber](https://docs.tatum.io/reference/rpc-base-debug_traceblockbynumber.md): Base RPC - [debug_tracecall](https://docs.tatum.io/reference/rpc-base-debug_tracecall.md): Base RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-base-debug_tracetransaction.md): Base RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-base-eth_blocknumber.md): Base RPC - [eth_call](https://docs.tatum.io/reference/rpc-base-eth_call.md): Base RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-base-eth_chainid.md): Base RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-base-eth_estimategas.md): Base RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-base-eth_feehistory.md): Base RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-base-eth_gasprice.md): Base RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-base-eth_getbalance.md): Base RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-base-eth_getblockbyhash.md): Base RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-base-eth_getblockbynumber.md): Base RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-base-eth_getblocktransactioncountbyhash.md): Base RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-base-eth_getblocktransactioncountbynumber.md): Base RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-base-eth_getcode.md): Base RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-base-eth_getlogs.md): Base RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-base-eth_getproof.md): Base RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-base-eth_getstorageat.md): Base RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-base-eth_gettransactionbyblockhashandindex.md): Base RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-base-eth_gettransactionbyblocknumberandindex.md): Base RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-base-eth_gettransactionbyhash.md): Base RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-base-eth_gettransactioncount.md): Base RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-base-eth_gettransactionreceipt.md): Base RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-base-eth_getunclecountbyblockhash.md): Base RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-base-eth_getunclecountbyblocknumber.md): Base RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-base-eth_maxpriorityfeepergas.md): Base RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-base-eth_sendrawtransaction.md): Base RPC - [txpool_content](https://docs.tatum.io/reference/rpc-base-txpool_content.md): Base RPC - [txpool_inspect](https://docs.tatum.io/reference/rpc-base-txpool_inspect.md): Base RPC - [txpool_status](https://docs.tatum.io/reference/rpc-base-txpool_status.md): Base RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-base-web3_clientversion.md): Base RPC - [Berachain](https://docs.tatum.io/reference/rpc-berachain.md): Discover Berachain, an EVM-compatible blockchain combining speed, incentives, and world-class infrastructure. - [debug_traceBlockByHash - Berachain](https://docs.tatum.io/reference/rpc-berachain-debug_traceblockbyhash.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceBlockByHash** method allows developers to trace the execution of transactions within a block specified by its hash. This method is particularly useful for debugging purposes, as it provides detailed information about the execution of each transaction within the block, including the type of call, the addresses involved, the value transferred, the gas used, the input data, the output data, and any sub-calls made during the transaction. - [debug_traceBlockByNumber - Berachain](https://docs.tatum.io/reference/rpc-berachain-debug_traceblockbynumber.md): Replays the block that is already present in the database. - [debug_traceCall - Berachain](https://docs.tatum.io/reference/rpc-berachain-debug_tracecall.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceCall** is an Berachain RPC method that allows you to execute a given call (message), tracing the steps of its execution. This can be helpful for developers and auditors who want to inspect and analyze the internal operations and state changes of a contract call without modifying the blockchain state. This method can assist in debugging and identifying potential issues with contract execution, as well as understanding how gas is consumed during the execution of a call. - [debug_traceTransaction - Berachain](https://docs.tatum.io/reference/rpc-berachain-debug_tracetransaction.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceTransaction** RPC method is utilized to trace the execution of a transaction on the Berachain blockchain. This method is highly beneficial for debugging purposes, as it furnishes comprehensive details regarding the transaction's execution. These details include the type of call, the involved addresses, the transferred value, the gas consumption, the input and output data, any encountered errors, and reasons for reverts if applicable. Moreover, it can enumerate sub-calls made during the transaction's execution. - [eth_blockNumber - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_blocknumber.md): The **eth_blockNumber** method is part of the Berachain JSON-RPC API, which is used to interact with the Berachain blockchain. This method is particularly useful for various use cases within the blockchain ecosystem, including but not limited to: Monitoring Blockchain Health: By regularly checking the latest block number, developers can monitor the health and activity of the Berachain blockchain. This can be crucial for applications that rely on the blockchain for their operations, as it helps in identifying any potential issues or delays in block production. Synchronization Checks: For applications that interact with the Berachain blockchain, knowing the latest block number can be essential for synchronization purposes. It helps in ensuring that the application's data is up-to-date with the blockchain's state. Transaction Verification: When submitting transactions to the blockchain, knowing the current block number can be useful for setting appropriate gas prices and for verifying transaction confirmations. - [eth_call - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_call.md): The **eth_call** method in Berachain's JSON-RPC API is used to execute a new message call immediately without creating a transaction on the blockchain. This method is particularly useful for testing and debugging smart contracts, as it allows developers to simulate the execution of contract methods without actually sending transactions to the network. This can help in identifying issues or understanding the behavior of contracts without incurring any gas costs or affecting the blockchain state. Please check the common use cases: Testing Smart Contracts: Before deploying a smart contract, developers can use eth_call to test its functionality and ensure it behaves as expected. Debugging: It can be used to debug smart contracts by simulating transactions and observing the state changes or return values without affecting the live contract. Estimating Gas Costs: Although eth_call does not actually send a transaction, it can be used to estimate the gas costs of a transaction by simulating its execution. - [eth_chainId - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_chainid.md): The **eth_chainId** method is part of the Berachain JSON-RPC API, specifically designed to return the current network or chain ID. This method is crucial for ensuring the uniqueness of transactions across different Berachain networks, as it helps in preventing replay attacks by distinguishing between transactions intended for different networks. The chain ID was introduced as part of EIP-155 to address the issue of transaction replay attacks across different Berachain networks. - [eth_estimateGas - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_estimategas.md): The **eth_estimateGas** method in Berachain's JSON-RPC API is used to estimate the amount of gas that would be required to execute a transaction without actually sending it. This method is particularly useful for determining the appropriate gas limit for a transaction before it is submitted to the network, helping to avoid out-of-gas errors and ensuring that transactions are processed efficiently. - [eth_feeHistory - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_feehistory.md): The **eth_feeHistory** retrieves historical gas fee data, providing insights into gas price trends and block utilization over time. This method is valuable for estimating transaction fees and understanding network congestion. - [eth_gasPrice - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_gasprice.md): The **eth_gasPrice** method is part of the Berachain JSON-RPC API, which is used to interact with the Berachain blockchain. This method specifically returns the current gas price on the Berachain network in wei. Wei is the smallest denomination of ether, the cryptocurrency used on the Berachain network. The gas price is a critical parameter for transactions on the Berachain network, as it determines how much a transaction is willing to pay per unit of gas, which is a measure of computational effort. - [eth_getBalance - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getbalance.md): The **eth_getBalance** method is an Berachain JSON-RPC method that allows you to retrieve the Ether balance of a specified address. This method can be used to query the balance of any Berachain address, whether it is a contract or an externally owned account (EOA). A common use case for this method is to display the current balance of a user's account in a wallet application or a decentralised application (DApp). - [eth_getBlockByHash - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getblockbyhash.md): The **eth_getBlockByHash** is an Berachain JSON-RPC method that allows developers to query a specific block in the Berachain blockchain by its block hash. This method can be used in various scenarios, such as analysing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockByNumber - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getblockbynumber.md): The **eth_getBlockByNumber** is an Berachain JSON-RPC method that allows developers to query a specific block in the Berachain blockchain by its block number. This method can be used in various scenarios, such as analyzing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockReceipts - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getblockreceipts.md): The **eth_getBlockReceipts** RPC method is a powerful tool for retrieving the receipts of all transactions included in a block, along with the block header. This method is particularly useful for applications that require detailed information about transactions, such as event logs, gas usage, and the status of transactions. It is supported on nodes running the Erigon client. - [eth_getBlockTransactionCountByHash - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getblocktransactioncountbyhash.md): The **eth_getBlockTransactionCountByHash** is an Berachain RPC method used to fetch the number of transactions in a block by the block's hash. It is useful when you want to know the total number of transactions included in a specific block and don't want to retrieve the entire block data. This method can be used in various scenarios, such as monitoring the network activity or estimating transaction confirmation times. - [eth_getBlockTransactionCountByNumber - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getblocktransactioncountbynumber.md): The **eth_getBlockTransactionCountByNumber** Berachain JSON-RPC method allows you to retrieve the number of transactions in a specified block. This method is particularly useful when you need to analyze the transaction activity of a specific block. You can use it to gain insights into network usage, analyze the impact of specific events on the Berachain network, or monitor transaction congestion in certain blocks. - [eth_getCode - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getcode.md): The **eth_getCode** method is part of the Berachain JSON-RPC API and is used to retrieve the contract code (bytecode) of an account at a specific block number. This method is particularly useful for developers who need to examine the bytecode of a deployed contract, verify the integrity of a deployed contract, analyze contract bytecode for security vulnerabilities, or debug a smart contract. - [eth_getLogs - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getlogs.md): The eth_getLogs method is an Berachain JSON-RPC method that allows developers to query logs generated by the Berachain network, specifically event logs emitted by smart contracts. These logs are an essential part of the Berachain ecosystem as they provide a way for developers to monitor contract events and track contract state changes. This method is particularly useful when building decentralized applications (dApps) that rely on events emitted by smart contracts, as it enables developers to retrieve logs based on specific filter criteria. By using eth_getLogs, developers can efficiently track and react to events happening on the Berachain blockchain. - [eth_getProof - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getproof.md): The **eth_getProof** is an Berachain JSON-RPC method that retrieves the Merkle-Patricia proof for an account, storage key-value pairs, and account transaction count. It allows developers to verify the state of an account or storage value at a specific block without needing the entire Berachain state trie. This method is particularly useful for light clients or off-chain applications that require proof of an account's state or specific storage values. - [eth_getStorageAt - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getstorageat.md): The **eth_getStorageAt** is an Berachain JSON-RPC method that allows you to query the storage value of a contract at a given position. It can be used to inspect the internal state of a smart contract. This method is particularly useful for developers, auditors, and analysts who want to examine contract storage values for various purposes, such as debugging, verifying contract behavior, or analyzing data. - [eth_getTransactionByBlockHashAndIndex - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_gettransactionbyblockhashandindex.md): The **eth_getTransactionByBlockHashAndIndex** is an Berachain JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByBlockNumberAndIndex - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_gettransactionbyblocknumberandindex.md): The eth_getTransactionByBlockHashAndIndex is an Berachain JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByHash - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_gettransactionbyhash.md): The **eth_getTransactionByHash** is an Berachain JSON-RPC method that allows you to query transaction details based on its hash. This method is useful when you want to retrieve information about a specific transaction, such as its sender, receiver, value, and more. Common use cases include tracking transaction status, monitoring incoming transactions, or analyzing historical transaction data. - [eth_getTransactionCount - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_gettransactioncount.md): The **eth_getTransactionCount** method is an Berachain JSON-RPC method that retrieves the number of transactions sent from a given address. It is a useful method for developers who need to keep track of an account's nonce value to avoid transaction collisions or incorrect order of execution. The nonce value is essential for ensuring transaction uniqueness and preventing replay attacks. - [eth_getTransactionReceipt - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_gettransactionreceipt.md): The **eth_getTransactionReceipt** is an Berachain JSON-RPC method that retrieves the transaction receipt of a given transaction hash. This method is particularly useful when you need to obtain detailed information about a transaction's execution, such as its status (success or failure), gas usage, and logs (events). Common use cases include checking the status of a transaction after it has been mined or inspecting the events emitted by a smart contract during a specific transaction. - [eth_getUncleCountByBlockHash - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getunclecountbyblockhash.md): The **eth_getUncleCountByBlockHash** method is an Berachain JSON-RPC method that returns the number of uncles in a specified block by its hash. This method can be useful for gathering information about the performance of the Berachain network and to analyse the security of the blockchain. Uncles are blocks that are not included in the main blockchain but are still valid, and they contribute to the overall security and decentralisation of the Berachain network. The inclusion of uncles helps prevent centralisation and ensures the mining process remains competitive. - [eth_getUncleCountByBlockNumber - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_getunclecountbyblocknumber.md): The **eth_getUncleCountByBlockNumber** is an Berachain JSON-RPC method that allows you to fetch the number of uncles in a block based on the block number. This method can be useful when you want to retrieve the number of uncles in a block without knowing the block hash. - [eth_maxPriorityFeePerGas - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_maxpriorityfeepergas.md): The **eth_maxPriorityFeePerGas** RPC method is specifically designed to return the maximum priority fee per gas that is needed to be included in a block. This method is crucial for developers and users interacting with the Berachain network, as it provides insights into the current gas fees required for transactions to be processed efficiently. - [eth_sendRawTransaction - Berachain](https://docs.tatum.io/reference/rpc-berachain-eth_sendrawtransaction.md): The **eth_sendRawTransaction** RPC method is used to facilitate the transmission of a signed and serialized Berachain transaction onto the network. This approach proves invaluable when seeking complete oversight of the signing procedure, especially when employing hardware wallets, cold storage solutions, or custom signing libraries. Its versatility shines through in multiple scenarios, including Ether transfers, smart contract interactions, and contract deployments. - [trace_block - Berachain](https://docs.tatum.io/reference/rpc-berachain-trace_block.md): The **trace_block** is a JSON-RPC method that allows you to fetch the trace details for a given block based on the block height. This method can be useful when you need detailed trace information for a specific block. Use cases for this method may include: - Analyzing the internal operations of transactions within a block - Debugging smart contract interactions - Collecting data for in-depth blockchain analytics - [txpool_content - Berachain](https://docs.tatum.io/reference/rpc-berachain-txpool_content.md): The **txpool_content** is specifically designed to return all pending and queued transactions currently in the transaction pool. It's important to note that this method is supported only on Geth, which is a popular Berachain client. - [txpool_inspect - Berachain](https://docs.tatum.io/reference/rpc-berachain-txpool_inspect.md): The **txpool_inspect** method is part of the txpool namespace in Berachain's JSON-RPC API, which provides access to several non-standard RPC methods to inspect the contents of the transaction pool. This method is specifically tailored for developers to quickly see the transactions in the pool and identify any potential issues. It is used to list a textual summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only. - [txpool_status - Berachain](https://docs.tatum.io/reference/rpc-berachain-txpool_status.md): The **txpool_status** method is part of the Berachain JSON-RPC API, which is used to query the status of the transaction pool (mempool) on an Berachain node. This method is particularly useful for developers and analysts who need to monitor the current state of pending and queued transactions in the Berachain network. - [web3_clientVersion - Berachain](https://docs.tatum.io/reference/rpc-berachain-web3_clientversion.md): The **web3_clientVersion** method is part of the Berachain JSON-RPC API, specifically designed to return the current version of the Berachain client being used. This method is particularly useful for debugging or when you need to ensure compatibility with specific client versions. - [Broadcast signed Bitcoin Cash transaction](https://docs.tatum.io/reference/bchbroadcast.md):

    /v3/bcash/broadcast

    5 credits per API call.


    Broadcast signed transaction to Bitcoin Cash blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate Bitcoin Cash deposit address from Extended public key](https://docs.tatum.io/reference/bchgenerateaddress.md):

    /v3/bcash/address/{xpub}/{index}

    5 credits per API call.


    Generate Bitcoin Cash deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1. Generates new format of address starting with bitcoincash: in case of mainnet, bchtest: in case of testnet..

    - [Generate Bitcoin Cash private key](https://docs.tatum.io/reference/bchgenerateaddressprivatekey.md):

    /v3/bcash/wallet/priv

    5 credits per API call.


    Generate private key for address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Bitcoin Cash wallet](https://docs.tatum.io/reference/bchgeneratewallet.md):

    /v3/bcash/wallet

    5 credits per API call.


    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for Bitcoin Cash wallet with derivation path m'/44'/145'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Bitcoin Cash wallet.

    - [Get Bitcoin Cash Block by hash](https://docs.tatum.io/reference/bchgetblock.md):

    ⚠️ Deprecated: Get Block


    GET /v3/bcash/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch a specific block from the blockchain by providing the block hash or block number.


    Explore Docs →

    /v3/bcash/block/{hash}

    5 credits per API call.


    Get Bitcoin Cash Block detail by block hash or height.

    - [Get Bitcoin Cash Blockchain Information](https://docs.tatum.io/reference/bchgetblockchaininfo.md):

    /v3/bcash/info

    5 credits per API call.


    Get Bitcoin Cash Blockchain Information. Obtain basic info like testnet / mainnet version of the chain, current block number and it's hash.

    - [Get Bitcoin Cash Block hash](https://docs.tatum.io/reference/bchgetblockhash.md):

    ⚠️ Deprecated: Get Block Hash


    GET /v3/bcash/block/hash/{i} is deprecated.

    Use GET /v4/data/blockchains/block/hash

    Fetch the hash of a block from the blockchain.


    Explore Docs →

    /v3/bcash/block/hash/{i}

    5 credits per API call.


    Get Bitcoin Cash Block hash. Returns hash of the block to get the block detail.

    - [Get Bitcoin Cash Transaction by hash](https://docs.tatum.io/reference/bchgetrawtransaction.md):

    ⚠️ Deprecated: Get Transaction


    GET /v3/bcash/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch a specific transaction from the blockchain by providing the transaction hash.


    Explore Docs →

    /v3/bcash/transaction/{hash}

    5 credits per API call.


    Get Bitcoin Cash Transaction by transaction hash.

    - [Get Bitcoin Cash Transactions by address](https://docs.tatum.io/reference/bchgettxbyaddress.md):

    /v3/bcash/transaction/address/{address}

    50 credits per API call.


    Get Bitcoin Cash Transaction by address. Limit is 50 transaction per response.

    > 📘 **Note:** > > This endpoint servers raw transaction data. - [JSON RPC HTTP driver](https://docs.tatum.io/reference/bchrpcdriver.md):

    /v3/bcash/node

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based JSON RPC driver to connect directly to the node provided by Tatum. To learn more about JSON RPC, visit Bitcoin Cash developers' guide.

    - [Send BCH to Bitcoin Cash addresses](https://docs.tatum.io/reference/bchtransferblockchain.md):

    /v3/bcash/transaction

    10 credits per API call

    Send BCH to blockchain addresses.

    Bitcoin Cash transactions are based on UTXOs. "UTXO" stands for "Unspent Transaction Output". A UTXO is the amount of BCH that remains at a Bitcoin Cash address after a cryptocurrency transaction involving this address has been performed. The UTXO can then be used as input for a new cryptocurrency transaction. For more information the UTXO, see the Bitcoin user documentation.

    You build a BCH transaction by sending BCH from UTXOs. Each UTXO is included in the transaction.

    When an UTXO is entered into a transaction, the whole UTXO amount is included and must be spent. For example, address A receives two transactions, T1 with 1 BCH and T2 with 2 BCH. A transaction that consumes the UTXOs from both T1 and T2 will have an available amount of 3 BCH to spend:
    1 BCH (from T1) + 2 BCH (from T2) = 3 BCH (to spend in total)

    You can send the assets to one or multiple recipients in one transaction. If you send the assets to multiple addresses, each address must have its own amount to receive.

    Paying the gas fee and receiving the change
    When the amount that the recipients should receive is lower than the amount from the UTXOs, the difference between these two amounts is by default used as the gas fee for the transaction. Because this amount may be considerable and you may not want to spend it all on the gas fee, you can explicitly specify the fee amount and the blockchain address where any extra funds remaining after covering the fee will be sent (the fee and changeAddress parameters in the request body, correspondingly).

    Signing a transaction
    When sending BCH, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Bitcoin Cash](https://docs.tatum.io/reference/rpc-bitcoin-cash.md): Learn about Bitcoin Cash, a fast and low-fee blockchain for peer-to-peer transactions. Discover how it empowers global decentralized payments. - [createrawtransaction](https://docs.tatum.io/reference/rpc-bch-createrawtransaction.md): BCH RPC - [decoderawtransaction](https://docs.tatum.io/reference/rpc-bch-decoderawtransaction.md): BCH RPC - [decodescript](https://docs.tatum.io/reference/rpc-bch-decodescript.md): BCH RPC - [estimatefee](https://docs.tatum.io/reference/rpc-bch-estimatefee.md): BCH RPC - [getbestblockhash](https://docs.tatum.io/reference/rpc-bch-getbestblockhash.md): BCH RPC - [getblock](https://docs.tatum.io/reference/rpc-bch-getblock.md): BCH RPC - [getblockchaininfo](https://docs.tatum.io/reference/rpc-bch-getblockchaininfo.md): BCH RPC - [getblockcount](https://docs.tatum.io/reference/rpc-bch-getblockcount.md): BCH RPC - [getblockhash](https://docs.tatum.io/reference/rpc-bch-getblockhash.md): BCH RPC - [getblockheader](https://docs.tatum.io/reference/rpc-bch-getblockheader.md): BCH RPC - [getblockstats](https://docs.tatum.io/reference/rpc-bch-getblockstats.md): BCH RPC - [getchaintips](https://docs.tatum.io/reference/rpc-bch-getchaintips.md): BCH RPC - [getdifficulty](https://docs.tatum.io/reference/rpc-bch-getdifficulty.md): BCH RPC - [getmempoolancestors](https://docs.tatum.io/reference/rpc-bch-getmempoolancestors.md): BCH RPC - [getmempooldescendants](https://docs.tatum.io/reference/rpc-bch-getmempooldescendants.md): BCH RPC - [getmempoolentry](https://docs.tatum.io/reference/rpc-bch-getmempoolentry.md): BCH RPC - [getmempoolinfo](https://docs.tatum.io/reference/rpc-bch-getmempoolinfo.md): BCH RPC - [getrawmempool](https://docs.tatum.io/reference/rpc-bch-getrawmempool.md): BCH RPC - [getrawtransaction](https://docs.tatum.io/reference/rpc-bch-getrawtransaction.md): BCH RPC - [gettxout](https://docs.tatum.io/reference/rpc-bch-gettxout.md): BCH RPC - [gettxoutproof](https://docs.tatum.io/reference/rpc-bch-gettxoutproof.md): BCH RPC - [sendrawtransaction](https://docs.tatum.io/reference/rpc-bch-sendrawtransaction.md): BCH RPC - [validateaddress](https://docs.tatum.io/reference/rpc-bch-validateaddress.md): BCH RPC - [verifymessage](https://docs.tatum.io/reference/rpc-bch-verifymessage.md): BCH RPC - [verifytxoutproof](https://docs.tatum.io/reference/rpc-bch-verifytxoutproof.md): BCH RPC - [Rostrum](https://docs.tatum.io/reference/rpc-rostrum.md) - [blockchainaddressgetbalance](https://docs.tatum.io/reference/rpc-rostrum-blockchainaddressgetbalance.md): Rostrum Electrum for Bitcoin Cash - [blockchainaddressgethistory](https://docs.tatum.io/reference/rpc-rostrum-blockchainaddressgethistory.md): Rostrum Electrum for Bitcoin Cash - [blockchainaddressgetmempool](https://docs.tatum.io/reference/rpc-rostrum-blockchainaddressgetmempool.md): Rostrum Electrum for Bitcoin Cash - [blockchainaddresslistunspent](https://docs.tatum.io/reference/rpc-rostrum-blockchainaddresslistunspent.md): Rostrum Electrum for Bitcoin Cash - [blockchainblockget](https://docs.tatum.io/reference/rpc-rostrum-blockchainblockget.md): Rostrum Electrum for Bitcoin Cash - [blockchainblockheader](https://docs.tatum.io/reference/rpc-rostrum-blockchainblockheader.md): Rostrum Electrum for Bitcoin Cash - [blockchainblockheaders](https://docs.tatum.io/reference/rpc-rostrum-blockchainblockheaders.md): Rostrum Electrum for Bitcoin Cash - [blockchainestimatefee](https://docs.tatum.io/reference/rpc-rostrum-blockchainestimatefee.md): Rostrum Electrum for Bitcoin Cash - [blockchainheaderssubscribe](https://docs.tatum.io/reference/rpc-rostrum-blockchainheaderssubscribe.md): Rostrum Electrum for Bitcoin Cash - [blockchainheaderstip](https://docs.tatum.io/reference/rpc-rostrum-blockchainheaderstip.md): Rostrum Electrum for Bitcoin Cash - [blockchainrelayfee](https://docs.tatum.io/reference/rpc-rostrum-blockchainrelayfee.md): Rostrum Electrum for Bitcoin Cash - [blockchaintransactionbroadcast](https://docs.tatum.io/reference/rpc-rostrum-blockchaintransactionbroadcast.md): Rostrum Electrum for Bitcoin Cash - [blockchaintransactionget](https://docs.tatum.io/reference/rpc-rostrum-blockchaintransactionget.md): Rostrum Electrum for Bitcoin Cash and Nexa - [serverbanner](https://docs.tatum.io/reference/rpc-rostrum-serverbanner.md): Rostrum Electrum for Bitcoin Cash - [serverversion](https://docs.tatum.io/reference/rpc-rostrum-serverversion.md): Rostrum Electrum for Bitcoin Cash - [Invoke a method in a smart contract on BNB Smart Chain](https://docs.tatum.io/reference/bscblockchainsmartcontractinvocation.md):

    /v3/bsc/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on BNB Smart Chain.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    If caller field is present instead of the private key, Tatum will sign the transaction with the managed private key connected to the caller address. This is applicable only for paid mainnet plans and all testnet plans. Keep in mind that the caller address must have enough access right to perform the action in the smart contract method.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send BSC / BEP20 from account to account](https://docs.tatum.io/reference/bscblockchaintransfer.md):

    /v3/bsc/transaction

    2 credits per API call

    Send BNB or Tatum supported BEP20 token from account to account.

    Signing a transaction

    When sending BNB, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Broadcast signed BSC transaction](https://docs.tatum.io/reference/bscbroadcast.md):

    /v3/bsc/broadcast

    2 credits per API call

    Broadcast signed transaction to BSC blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate BSC account address from Extended public key](https://docs.tatum.io/reference/bscgenerateaddress.md):

    /v3/bsc/address/{xpub}/{index}

    1 credit per API call

    Generate BSC account deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31.

    - [Generate BSC private key](https://docs.tatum.io/reference/bscgenerateaddressprivatekey.md):

    /v3/bsc/wallet/priv

    1 credit per API call

    Generate private key of address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^31 private keys starting from index 0 until 2^31.

    - [Generate BSC wallet](https://docs.tatum.io/reference/bscgeneratewallet.md):

    /v3/bsc/wallet

    1 credit per API call

    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for BSC wallet with derivation path m'/44'/60'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible BSC wallet.

    - [Get BSC Account balance](https://docs.tatum.io/reference/bscgetbalance.md):

    ⚠️ Deprecated: Get BSC Balance


    GET /v3/bsc/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get native balance for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get BSC account balance in BNB. This method does not prints any balance of the BEP20 or BEP721 tokens on the account.

    - [Get BSC block by hash](https://docs.tatum.io/reference/bscgetblock.md):

    ⚠️ Deprecated: Get BSC Block


    GET /v3/bsc/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Get block by hash or height for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get BSC block by block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/bscgetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block Number


    GET /v3/bsc/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Get the current block height for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get BSC current block number. This is the number of the latest block in the blockchain.

    - [Get BSC Transaction](https://docs.tatum.io/reference/bscgettransaction.md):

    ⚠️ Deprecated: Get BSC Transaction


    GET /v3/bsc/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Get transaction by hash for any supported blockchain.


    Explore Docs →

    2 credits per API call

    Get BSC transaction by transaction hash.

    - [Get count of outgoing BSC transactions](https://docs.tatum.io/reference/bscgettransactioncount.md):

    ⚠️ Deprecated: Get BSC Transaction Count


    GET /v3/bsc/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Get outgoing transaction count for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get a number of outgoing BSC transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/bscweb3driver.md):

    /v3/bsc/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based web3 driver to connect directly to the BSC node provided by Tatum. To learn more about BSC Web3, visit the BSC developer's guide.

    - [Binance Smart Chain (BSC)](https://docs.tatum.io/reference/rpc-bsc.md): Explore Binance Smart Chain (BSC), a leading blockchain for DeFi and NFTs. Enjoy low fees, fast transactions, and extensive dApp support. - [debug_storagerangeat](https://docs.tatum.io/reference/rpc-bsc-debug_storagerangeat.md): Bsc RPC - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-bsc-debug_traceblockbyhash.md): Bsc RPC - [debug_traceblockbynumber](https://docs.tatum.io/reference/rpc-bsc-debug_traceblockbynumber.md): Bsc RPC - [debug_tracecall](https://docs.tatum.io/reference/rpc-bsc-debug_tracecall.md): Bsc RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-bsc-debug_tracetransaction.md): Bsc RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-bsc-eth_blocknumber.md): Bsc RPC - [eth_call](https://docs.tatum.io/reference/rpc-bsc-eth_call.md): Bsc RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-bsc-eth_chainid.md): Bsc RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-bsc-eth_estimategas.md): Bsc RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-bsc-eth_feehistory.md): Bsc RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-bsc-eth_gasprice.md): Bsc RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-bsc-eth_getbalance.md): Bsc RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-bsc-eth_getblockbyhash.md): Bsc RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-bsc-eth_getblockbynumber.md): Bsc RPC - [eth_getBlockReceipts](https://docs.tatum.io/reference/rpc-bsc-eth_getblockreceipts.md): BSC RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-bsc-eth_getblocktransactioncountbyhash.md): Bsc RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-bsc-eth_getblocktransactioncountbynumber.md): Bsc RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-bsc-eth_getcode.md): Bsc RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-bsc-eth_getlogs.md): Bsc RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-bsc-eth_getproof.md): Bsc RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-bsc-eth_getstorageat.md): Bsc RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-bsc-eth_gettransactionbyblockhashandindex.md): Bsc RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-bsc-eth_gettransactionbyblocknumberandindex.md): Bsc RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-bsc-eth_gettransactionbyhash.md): Bsc RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-bsc-eth_gettransactioncount.md): Bsc RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-bsc-eth_gettransactionreceipt.md): Bsc RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-bsc-eth_getunclecountbyblockhash.md): Bsc RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-bsc-eth_getunclecountbyblocknumber.md): Bsc RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-bsc-eth_maxpriorityfeepergas.md): Bsc RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-bsc-eth_sendrawtransaction.md): Bsc RPC - [trace_block](https://docs.tatum.io/reference/rpc-bsc-trace_block.md): Bsc RPC - [txpool_content](https://docs.tatum.io/reference/rpc-bsc-txpool_content.md): Bsc RPC - [txpool_status](https://docs.tatum.io/reference/rpc-bsc-txpool_status.md): Bsc RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-bsc-web3_clientversion.md): Bsc RPC - [Broadcast a signed Bitcoin transaction](https://docs.tatum.io/reference/btcbroadcast.md):

    /v3/bitcoin/broadcast

    2 credits per API call

    Broadcasts a signed transaction to the Bitcoin blockchain. This method is used internally from Tatum KMS or Tatum Client Libraries. It is possible to create a custom signing mechanism and only use this method for broadcasting data to the blockchain.

    - [Generate a Bitcoin address from the wallet's extended public key](https://docs.tatum.io/reference/btcgenerateaddress.md):

    /v3/bitcoin/address/{xpub}/{index}

    1 credit per API call

    Generate a Bitcoin address from the extended public key of the wallet. The address is generated for the specific index - each extended public key can generate up to 2^32 addresses with the index starting from 0 up to 2^31 - 1.

    - [Generate the private key for a Bitcoin address](https://docs.tatum.io/reference/btcgenerateaddressprivatekey.md):

    /v3/bitcoin/wallet/priv

    1 credit per API call

    Generates a private key for an address from a mnemonic for a given derivation path index. The private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate a Bitcoin wallet](https://docs.tatum.io/reference/btcgeneratewallet.md):

    /v3/bitcoin/wallet

    1 credit per API call

    Tatum supports BIP44 HD wallets. Because they can generate 2^31 addresses from 1 mnemonic phrase, they are very convenient and secure. A mnemonic phrase consists of 24 special words in a defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for Bitcoin wallet with derivation path m'/44'/0'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Bitcoin wallet.

    - [Get the balance of a Bitcoin address](https://docs.tatum.io/reference/btcgetbalanceofaddress.md):

    ⚠️ Deprecated: Get Bitcoin Address Balance


    GET /v3/bitcoin/address/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get the balance of a Bitcoin address.


    Explore Docs →

    /v3/bitcoin/address/balance/{address}

    1 credit per API call

    Get the balance of a Bitcoin address.

  6. Note: Bitcoin mainnet, Bitcoin testnet is now supported for any amount of utxo's on address with our latest update. This functionality will be extended to other chains soon.
  7. - [Get the balance of multiple Bitcoin addresses](https://docs.tatum.io/reference/btcgetbalanceofaddressbatch.md):

    ⚠️ Deprecated: Get Bitcoin Address Balance Batch


    GET /v3/bitcoin/address/balance/batch is deprecated.

    Use GET /v4/data/blockchains/balance/batch

    Get the balance of multiple Bitcoin addresses.


    Explore Docs →

    /v3/bitcoin/address/balance/batch

    1 credit per address for each API call

    Get the balance of multiple Bitcoin addresses.

    - [Get a Bitcoin block by its hash or height](https://docs.tatum.io/reference/btcgetblock.md):

    ⚠️ Deprecated: Get Bitcoin Block


    GET /v3/bitcoin/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch the Bitcoin block details by block hash or height. This endpoint returns information about a specific block.


    Explore Docs →

    /v3/bitcoin/block/{hash}

    1 credit per API call

    Gets Bitcoin block detail by block hash or height.

    - [Get Bitcoin blockchain information](https://docs.tatum.io/reference/btcgetblockchaininfo.md):

    /v3/bitcoin/info

    1 credit per API call

    Gets Bitcoin blockchain information. Obtains basic info like the testnet / mainnet version of the chain, the current block number and its hash.

    - [Get the hash of a Bitcoin block](https://docs.tatum.io/reference/btcgetblockhash.md):

    ⚠️ Deprecated: Get Bitcoin Block Hash


    GET /v3/bitcoin/block/hash/{i} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch the Bitcoin block hash by block number. Returns the hash of the block to get the block details.


    Explore Docs →

    /v3/bitcoin/block/hash/{i}

    1 credit per API call

    Gets a Bitcoin block hash. Returns the hash of the block to get the block's details.

    - [Get transactions from the Bitcoin mempool](https://docs.tatum.io/reference/btcgetmempool.md):

    ⚠️ Deprecated: Get Bitcoin Mempool


    GET /v3/bitcoin/mempool is deprecated.

    Use GET /v4/data/blockchains/mempool

    Fetch Bitcoin transaction IDs in the mempool.


    Explore Docs →

    /v3/bitcoin/mempool

    1 credit per API call

    Gets Bitcoin transaction IDs in the mempool.

    - [Get a Bitcoin transaction by its hash](https://docs.tatum.io/reference/btcgetrawtransaction.md):

    ⚠️ Deprecated: Get Bitcoin Transaction by hash


    GET /v3/bitcoin/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch the Bitcoin transaction details by transaction hash. This endpoint returns information about a specific transaction.


    Explore Docs →

    /v3/bitcoin/transaction/{hash}

    1 credit per API call

    Get Bitcoin Transaction detail by transaction hash.

    - [Get all transactions for a Bitcoin address](https://docs.tatum.io/reference/btcgettxbyaddress.md):

    ⚠️ Deprecated: Get Transactions by Address


    GET /v3/bitcoin/transaction/address/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/history/utxos

    Fetch all transactions for a Bitcoin address. Returns also transactions that are in mempool.


    Explore Docs →

    /v3/bitcoin/transaction/address/{address}

    1 credit per API call

    Get all transactions for a Bitcoin address. Returns also transactions that are in mempool and haven't been included in a block. In that case blockNumber has a null value.

    - [Get transactions for multiple Bitcoin addresses in a batch](https://docs.tatum.io/reference/btcgettxbyaddressbatch.md):

    ⚠️ Deprecated: Get Transactions by Address Batch


    POST /v3/bitcoin/transaction/address/batch is deprecated.

    Use POST /v4/data/blockchains/transaction/history/utxos/batch

    Retrieve transactions for multiple Bitcoin addresses in a batch.


    Explore Docs →

    /v3/bitcoin/transaction/address/batch

    1 credit per address for each API call

    Retrieve transactions for multiple Bitcoin addresses in a batch.

    - [Get information about a transaction output (UTXO) in a Bitcoin transaction](https://docs.tatum.io/reference/btcgetutxo.md):

    ⚠️ Deprecated: Get Bitcoin UTXO


    GET /v3/bitcoin/utxo/{hash}/{index} is deprecated.

    Use GET /v4/data/blockchains/utxo/info

    Fetch information about a transaction output in a transaction and check whether this output is a UTXO or has been spent.


    Explore Docs →

    /v3/bitcoin/utxo/{hash}/{index}

    1 credit per API call

    Get information about a transaction output in a transaction and check whether this output is a UTXO or has been spent.

    "UTXO" stands for "Unspent Transaction Output". A UTXO is the amount of BTC/satoshis that remains at a Bitcoin address after a cryptocurrency transaction involving this address has been performed. The UTXO can then be used as input for a new cryptocurrency transaction. For more information about Bitcoin transactions and UTXO, see the Bitcoin user documentation.

    - [Connect to a Bitcoin node through an RPC driver](https://docs.tatum.io/reference/btcrpcdriver.md):

    /v3/bitcoin/node

    This endpoint is deprecated. Do not use it.
    Instead, use this API.


    2 credits per API call

    Use this endpoint URL as an http-based JSON RPC driver to connect directly to the node provided by Tatum. To learn more about JSON RPC, visit the Bitcoin developers' guide.

    - [Send BTC to Bitcoin addresses](https://docs.tatum.io/reference/btctransferblockchain.md):

    /v3/bitcoin/transaction

    2 credits per API call

    Send BTC to blockchain addresses.

    Bitcoin transactions are based on UTXOs. "UTXO" stands for "Unspent Transaction Output". A UTXO is the amount of BTC/satoshis that remains at a Bitcoin address after a cryptocurrency transaction involving this address has been performed. The UTXO can then be used as input for a new cryptocurrency transaction. For more information about Bitcoin transactions and UTXO, see the Bitcoin user documentation. To check UTXOs in a transaction, see the API for getting information about a transaction output (UTXO) in a Bitcoin transaction.

    You can build a BTC transaction by one of the following methods:

    When an UTXO is entered into a transaction, the whole UTXO amount is included and must be spent. For example, address A receives two transactions, T1 with 1 BTC and T2 with 2 BTC. A transaction that consumes the UTXOs from both T1 and T2 will have an available amount of 3 BTC to spend:
    1 BTC (from T1) + 2 BTC (from T2) = 3 BTC (to spend in total)

    You can send the assets to one or multiple recipients in one transaction. If you send the assets to multiple addresses, each address must have its own amount to receive.

    Paying the gas fee and receiving the change
    When the amount that the recipients should receive is lower than the amount from the UTXOs, the difference between these two amounts is by default used as the gas fee for the transaction. Because this amount may be considerable and you may not want to spend it all on the gas fee, you can explicitly specify the fee amount and the blockchain address where any extra funds remaining after covering the fee will be sent (the fee and changeAddress parameters in the request body, correspondingly).

    Signing a transaction
    When sending BTC, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Bitcoin](https://docs.tatum.io/reference/rpc-btc.md): Explore Bitcoin, the world’s first decentralized digital currency. Discover how it revolutionized peer-to-peer transactions and blockchain. - [blockchainBlockGet](https://docs.tatum.io/reference/rpc-electrs-blockchainblockget.md): Electrum for Bitcoin - [blockchainBlockHeader](https://docs.tatum.io/reference/rpc-electrs-blockchainblockheader.md): Electrum for Bitcoin - [blockchainBlockHeaders](https://docs.tatum.io/reference/rpc-electrs-blockchainblockheaders.md): Electrum for Bitcoin - [blockchainEstimateFee](https://docs.tatum.io/reference/rpc-electrs-blockchainestimatefee.md): Electrum for Bitcoin - [blockchainHeadersSubscribe](https://docs.tatum.io/reference/rpc-electrs-blockchainheaderssubscribe.md): Electrum for Bitcoin - [blockchainHeadersTip](https://docs.tatum.io/reference/rpc-electrs-blockchainheaderstip.md): Electrum for Bitcoin - [blockchainRelayFee](https://docs.tatum.io/reference/rpc-electrs-blockchainrelayfee.md): Electrum for Bitcoin - [blockchainTransactionBroadcast](https://docs.tatum.io/reference/rpc-electrs-blockchaintransactionbroadcast.md): Electrum for Bitcoin - [blockchainTransactionGet](https://docs.tatum.io/reference/rpc-electrs-blockchaintransactionget.md): Electrum for Bitcoin - [serverBanner](https://docs.tatum.io/reference/rpc-electrs-serverbanner.md): Electrum for Bitcoin - [serverVersion](https://docs.tatum.io/reference/rpc-electrs-serverversion.md): Electrum for Bitcoin - [createrawtransaction](https://docs.tatum.io/reference/rpc-btc-createrawtransaction.md): Bitcoin RPC - [decoderawtransaction](https://docs.tatum.io/reference/rpc-btc-decoderawtransaction.md): Bitcoin RPC - [getbestblockhash](https://docs.tatum.io/reference/rpc-btc-getbestblockhash.md): Bitcoin RPC - [getblock](https://docs.tatum.io/reference/rpc-btc-getblock.md): Bitcoin RPC - [getblockchaininfo](https://docs.tatum.io/reference/rpc-btc-getblockchaininfo.md): Bitcoin RPC - [getblockcount](https://docs.tatum.io/reference/rpc-btc-getblockcount.md): Bitcoin RPC - [getblockhash](https://docs.tatum.io/reference/rpc-btc-getblockhash.md): Bitcoin RPC - [getblockheader](https://docs.tatum.io/reference/rpc-btc-getblockheader.md): Bitcoin RPC - [getblockstats](https://docs.tatum.io/reference/rpc-btc-getblockstats.md): Bitcoin RPC - [getchaintips](https://docs.tatum.io/reference/rpc-btc-getchaintips.md): Bitcoin RPC - [getdifficulty](https://docs.tatum.io/reference/rpc-btc-getdifficulty.md): Bitcoin RPC - [getmempoolancestors](https://docs.tatum.io/reference/rpc-btc-getmempoolancestors.md): Bitcoin RPC - [getmempooldescendants](https://docs.tatum.io/reference/rpc-btc-getmempooldescendants.md): Bitcoin RPC - [getmempoolentry](https://docs.tatum.io/reference/rpc-btc-getmempoolentry.md): Bitcoin RPC - [getmempoolinfo](https://docs.tatum.io/reference/rpc-btc-getmempoolinfo.md): Bitcoin RPC - [getrawmempool](https://docs.tatum.io/reference/rpc-btc-getrawmempool.md): Bitcoin RPC - [gettxout](https://docs.tatum.io/reference/rpc-btc-gettxout.md): Bitcoin RPC - [gettxoutproof](https://docs.tatum.io/reference/rpc-btc-gettxoutproof.md): Bitcoin RPC - [validateaddress](https://docs.tatum.io/reference/rpc-btc-validateaddress.md): Bitcoin RPC - [verifymessage](https://docs.tatum.io/reference/rpc-btc-verifymessage.md): Bitcoin RPC - [verifytxoutproof](https://docs.tatum.io/reference/rpc-btc-verifytxoutproof.md): Bitcoin RPC - [Bitcoin Electrum](https://docs.tatum.io/reference/rpc-electrs.md): Bitcoin Electrum - [call](https://docs.tatum.io/reference/rpc-cardano-rosetta-call.md): Call invokes an arbitrary, network-specific procedure call with network-specific parameters. The guidance for what this endpoint should or could do is purposely left vague. In Ethereum, this could be used to invoke `eth_call` to implement an entire Rosetta API interface for some smart contract that is not parsed by the implementation creator (like a DEX). This endpoint could also be used to provide access to data that does not map to any Rosetta models instead of requiring an integrator to use some network-specific SDK and call some network-specific endpoint (like surfacing staking parameters). Call is NOT a replacement for implementing Rosetta API endpoints or mapping network-specific data to Rosetta models. Rather, it enables developers to build additional Rosetta API interfaces for things they care about without introducing complexity into a base-level Rosetta implementation. Simply put, imagine that the average integrator will use layered Rosetta API implementations that each surfaces unique data. - [constructionPreprocess](https://docs.tatum.io/reference/rpc-cardano-rosetta-construction_preprocess.md): Preprocess is called prior to `/construction/payloads` to construct a request for any metadata that is needed for transaction construction given (i.e. account nonce). The `options` object returned from this endpoint will be sent to the `/construction/metadata` endpoint UNMODIFIED by the caller (in an offline execution environment). If your Construction API implementation has configuration options, they MUST be specified in the `/construction/preprocess` request (in the `metadata` field). - [createNetworkTransaction](https://docs.tatum.io/reference/rpc-cardano-rosetta-create_network_transaction.md): Combine creates a network-specific transaction from an unsigned transaction and an array of provided signatures. The signed transaction returned from this method will be sent to the `/construction/submit` endpoint by the caller. - [deriveAccount](https://docs.tatum.io/reference/rpc-cardano-rosetta-derive_account.md): Derive returns the AccountIdentifier associated with a public key. Blockchains that require an on-chain action to create an account should not implement this method. - [generateUnsignedTransactionAndSigningPayloads](https://docs.tatum.io/reference/rpc-cardano-rosetta-generate_unsigne_transaction_and_signing_payloads.md): Payloads is called with an array of operations and the response from `/construction/metadata`. It returns an unsigned transaction blob and a collection of payloads that must be signed by particular AccountIdentifiers using a certain SignatureType. The array of operations provided in transaction construction often times can not specify all "effects" of a transaction (consider invoked transactions in Ethereum). However, they can deterministically specify the "intent" of the transaction, which is sufficient for construction. For this reason, parsing the corresponding transaction in the Data API (when it lands on chain) will contain a superset of whatever operations were provided during construction. - [getAccountBalance](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_account_balance.md): Get an array of all AccountBalances for an AccountIdentifier and the BlockIdentifier at which the balance lookup was performed. The BlockIdentifier must always be returned because some consumers of account balance data need to know specifically at which block the balance was calculated to compare balances they compute from operations with the balance returned by the node. It is important to note that making a balance request for an account without populating the SubAccountIdentifier should not result in the balance of all possible SubAccountIdentifiers being returned. Rather, it should result in the balance pertaining to no SubAccountIdentifiers being returned (sometimes called the liquid balance). To get all balances associated with an account, it may be necessary to perform multiple balance requests with unique AccountIdentifiers. It is also possible to perform a historical balance lookup (if the server supports it) by passing in an optional BlockIdentifier. - [getAccountCoins](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_account_coins.md): Get an array of all unspent coins for an AccountIdentifier and the BlockIdentifier at which the lookup was performed. If your implementation does not support coins (i.e. it is for an account-based blockchain), you do not need to implement this endpoint. If you implementation does support coins (i.e. it is fro a UTXO-based blockchain), you MUST also complete the `/account/balance` endpoint. It is important to note that making a coins request for an account without populating the SubAccountIdentifier should not result in the coins of all possible SubAccountIdentifiers being returned. Rather, it should result in the coins pertaining to no SubAccountIdentifiers being returned. To get all coins associated with an account, it may be necessary to perform multiple coin requests with unique AccountIdentifiers. Optionally, an implementation may choose to support updating an AccountIdentifier's unspent coins based on the contents of the mempool. Note, using this functionality breaks any guarantee of idempotency. - [getBlockTransaction](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_block_transaction.md): Get a transaction in a block by its Transaction Identifier. This endpoint should only be used when querying a node for a block does not return all transactions contained within it. All transactions returned by this endpoint must be appended to any transactions returned by the /block method by consumers of this data. Fetching a transaction by hash is considered an Explorer Method (which is classified under the Future Work section). This method can be used to let consumers to paginate results when the block trasactions count is too big to be returned in a single BlockResponse. Calling this endpoint requires reference to a BlockIdentifier because transaction parsing can change depending on which block contains the transaction. For example, in Bitcoin it is necessary to know which block contains a transaction to determine the destination of fee payments. Without specifying a block identifier, the node would have to infer which block to use (which could change during a re-org). Implementations that require fetching previous transactions to populate the response (ex: Previous UTXOs in Bitcoin) may find it useful to run a cache within the Rosetta server in the /data directory (on a path that does not conflict with the node). - [getBlock](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_block.md): Get a block by its Block Identifier. If transactions are returned in the same call to the node as fetching the block, the response should include these transactions in the Block object. If not, an array of Transaction Identifiers should be returned so /block/transaction fetches can be done to get all transaction information. When requesting a block by the hash component of the BlockIdentifier, this request MUST be idempotent: repeated invocations for the same hash-identified block must return the exact same block contents. No such restriction is imposed when requesting a block by height, given that a chain reorg event might cause the specific block at height `n` to be set to a different one. - [getEventsBlocks](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_events_blocks.md): `/events/blocks` allows the caller to query a sequence of BlockEvents indicating which blocks were added and removed from storage to reach the current state. Following BlockEvents allows lightweight clients to update their state without needing to implement their own syncing logic (like finding the common parent in a reorg). `/events/blocks` is considered an "indexer" endpoint and Rosetta implementations are not required to complete it to adhere to the Rosetta spec. However, any Rosetta "indexer" MUST support this endpoint. - [getHashOfTransaction](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_hash_of_transaction.md): TransactionHash returns the network-specific transaction hash for a signed transaction. - [getMempoolTransaction](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_mempool_transaction.md): Get a transaction in the mempool by its Transaction Identifier. This is a separate request than fetching a block transaction (/block/transaction) because some blockchain nodes need to know that a transaction query is for something in the mempool instead of a transaction in a block. Transactions may not be fully parsable until they are in a block (ex: may not be possible to determine the fee to pay before a transaction is executed). On this endpoint, it is ok that returned transactions are only estimates of what may actually be included in a block. - [getMempool](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_mempool.md): Get all Transaction Identifiers in the mempool - [getNetworkList](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_network_list.md): This endpoint returns a list of NetworkIdentifiers that the Rosetta server supports. - [getNetworkOptions](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_network_options.md): This endpoint returns the version information and allowed network-specific types for a NetworkIdentifier. Any NetworkIdentifier returned by /network/list should be accessible here. Because options are retrievable in the context of a NetworkIdentifier, it is possible to define unique options for each network. - [getNetworkStatus](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_network_status.md): This endpoint returns the current status of the network requested. Any NetworkIdentifier returned by /network/list should be accessible here. - [getTransactionConstructionMetadata](https://docs.tatum.io/reference/rpc-cardano-rosetta-get_transaction_construction_metadata.md): Get any information required to construct a transaction for a specific network. Metadata returned here could be a recent hash to use, an account sequence number, or even arbitrary chain state. The request used when calling this endpoint is created by calling `/construction/preprocess` in an offline environment. You should NEVER assume that the request sent to this endpoint will be created by the caller or populated with any custom parameters. This must occur in `/construction/preprocess`. It is important to clarify that this endpoint should not pre-construct any transactions for the client (this should happen in `/construction/payloads`). This endpoint is left purposely unstructured because of the wide scope of metadata that could be required. - [parseTransaction](https://docs.tatum.io/reference/rpc-cardano-rosetta-parse_transaction.md): Parse is called on both unsigned and signed transactions to understand the intent of the formulated transaction. This is run as a sanity check before signing (after `/construction/payloads`) and before broadcast (after `/construction/combine`). - [searchTransactions](https://docs.tatum.io/reference/rpc-cardano-rosetta-search_transactions.md): `/search/transactions` allows the caller to search for transactions that meet certain conditions. Some conditions include matching a transaction hash, containing an operation with a certain status, or containing an operation that affects a certain account. `/search/transactions` is considered an "indexer" endpoint and Rosetta implementations are not required to complete it to adhere to the Rosetta spec. However, any Rosetta "indexer" MUST support this endpoint. - [submitTransaction](https://docs.tatum.io/reference/rpc-cardano-rosetta-submit_transaction.md): Submit a pre-signed transaction to the node. This call should not block on the transaction being included in a block. Rather, it should return immediately with an indication of whether or not the transaction was included in the mempool. The transaction submission response should only return a 200 status if the submitted transaction could be included in the mempool. Otherwise, it should return an error. - [Broadcast signed Ada transaction](https://docs.tatum.io/reference/adabroadcast.md):

    /v3/ada/broadcast

    You can work with Cardano by connecting directly to a blockchain node provided by Tatum.


    2 credits per API call.

    Broadcasts a signed transaction to the Ada blockchain. This method is used internally from Tatum KMS or Tatum Client Libraries. It is possible to create a custom signing mechanism and only use this method for broadcasting data to the blockchain.

    - [Generate Ada deposit address from Extended public key](https://docs.tatum.io/reference/adagenerateaddress.md):

    /v3/ada/address/{xpub}/{index}

    You can work with Cardano by connecting directly to a blockchain node provided by Tatum.


    1 credit per API call.

    Generates a Ada deposit address from an Extended public key. The deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate Ada private key](https://docs.tatum.io/reference/adagenerateaddressprivatekey.md):

    /v3/ada/wallet/priv

    You can work with Cardano by connecting directly to a blockchain node provided by Tatum.


    1 credit per API call.

    Generates a private key for an address from a mnemonic for a given derivation path index. The private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Ada wallet](https://docs.tatum.io/reference/adageneratewallet.md):

    /v3/ada/wallet

    You can work with Cardano by connecting directly to a blockchain node provided by Tatum.


    1 credit per API call.

    Tatum supports BIP44 HD wallets. Because they can generate 2^31 addresses from 1 mnemonic phrase, they are very convenient and secure. A mnemonic phrase consists of 24 special words in a defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for ADA wallet with derivation path m/1852'/1815'/0'. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Ada wallet.

    - [Gets a Ada account by address](https://docs.tatum.io/reference/adagetaccount.md):

    /v3/ada/account/{address}

    You can work with Cardano by connecting directly to a blockchain node provided by Tatum.


    2 credits per API call.

    Gets a Ada account by address.

    - [Get Block by hash or height](https://docs.tatum.io/reference/adagetblock.md):

    ⚠️ Deprecated: Get Block


    GET /v3/ada/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch a specific block from the blockchain by providing the block hash or block number.


    Explore Docs →

    /v3/ada/block/{hash}

    You can work with Cardano by connecting directly to a blockchain node provided by Tatum.


    1 credit per API call.

    Gets Ada block detail by block hash or height.

    - [Get Blockchain information](https://docs.tatum.io/reference/adagetblockchaininfo.md):

    /v3/ada/info

    You can work with Cardano by connecting directly to a blockchain node provided by Tatum.


    1 credit per API call.

    Gets Ada blockchain information. Obtains basic info like the testnet / mainnet version of the chain, the current block number and its hash.

    - [Get transaction by hash](https://docs.tatum.io/reference/adagetrawtransaction.md):

    ⚠️ Deprecated: Get Transaction


    GET /v3/ada/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch a specific transaction from the blockchain by providing the transaction hash.


    Explore Docs →

    /v3/ada/transaction/{hash}

    You can work with Cardano by connecting directly to a blockchain node provided by Tatum.


    1 credit per API call.

    Get Ada Transaction detail by transaction hash.

    - [Get transactions by address](https://docs.tatum.io/reference/adagettxbyaddress.md):

    ⚠️ Deprecated: Get Transactions By Address


    GET /v3/ada/transaction/address/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/history/utxos

    Fetch transaction history for a UTXO blockchain address.


    Explore Docs →

    /v3/ada/transaction/address/{address}

    You can work with Cardano by connecting directly to a blockchain node provided by Tatum.


    1 credit per API call.

    Gets a Ada transaction by address.

    - [Get UTXOs by address](https://docs.tatum.io/reference/adagetutxobyaddress.md):

    /v3/ada/{address}/utxos

    You can work with Cardano by connecting directly to a blockchain node provided by Tatum.


    1 credit per API call.

    Gets a Ada UTXOs by address.

    - [Send ADA to Cardano addresses](https://docs.tatum.io/reference/adatransferblockchain.md):

    /v3/ada/transaction

    2 credits per API call

    Send ADA to blockchain addresses.

    Cardano transactions are based on UTXOs. "UTXO" stands for "Unspent Transaction Output". A UTXO is the amount of ADA that remains at a Cardano address after a cryptocurrency transaction involving this address has been performed. The UTXO can then be used as input for a new cryptocurrency transaction. For more information about the UTXO, see the Bitcoin user documentation.

    You can build an ADA transaction by one of the following methods:

    When an UTXO is entered into a transaction, the whole UTXO amount is included and must be spent. For example, address A receives two transactions, T1 with 1 ADA and T2 with 2 ADA. A transaction that consumes the UTXOs from both T1 and T2 will have an available amount of 3 ADA to spend:
    1 ADA (from T1) + 2 ADA (from T2) = 3 ADA (to spend in total)

    You can send the assets to one or multiple recipients in one transaction. If you send the assets to multiple addresses, each address must have its own amount to receive.

    Paying the gas fee and receiving the change
    When the amount that the recipients should receive is lower than the amount from the UTXOs, the difference between these two amounts is by default used as the gas fee for the transaction. Because this amount may be considerable and you may not want to spend it all on the gas fee, you can explicitly specify the fee amount and the blockchain address where any extra funds remaining after covering the fee will be sent (the fee and changeAddress parameters in the request body, correspondingly).

    Signing a transaction
    When sending ADA, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Cardano](https://docs.tatum.io/reference/rpc-cardano.md): Discover Cardano, a proof-of-stake blockchain designed for sustainable dApps. Explore its unique approach to scalability and security. - [Casper](https://docs.tatum.io/reference/rpc-casper.md): Explore Casper, a blockchain optimized for enterprise solutions with upgradable smart contracts. Build decentralized applications using its RPC gateway. - [account_put_deploy](https://docs.tatum.io/reference/rpc-account_put_deploy.md): Casper RPC - [chain_get_block_transfers](https://docs.tatum.io/reference/rpc-casper-chain_get_block_transfers.md): Casper RPC - [chain_get_block](https://docs.tatum.io/reference/rpc-casper-chain_get_block.md): Casper RPC - [chain_get_era_by_block](https://docs.tatum.io/reference/rpc-casper-chain_get_era_by_block.md): Casper RPC - [chain_get_era_summary](https://docs.tatum.io/reference/rpc-casper-chain_get_era_summary.md): Casper RPC - [chain_get_state_root_hash](https://docs.tatum.io/reference/rpc-casper-chain_get_state_root_hash.md): Casper RPC - [info_get_chainspec](https://docs.tatum.io/reference/rpc-casper-info_get_chainspec.md): Casper RPC - [info_get_deploy](https://docs.tatum.io/reference/rpc-casper-info_get_deploy.md): Casper RPC - [info_get_status](https://docs.tatum.io/reference/rpc-casper-info_get_status.md): Casper RPC - [info_get_validator_changes](https://docs.tatum.io/reference/rpc-casper-info_get_validator_changes.md): Casper RPC - [query_balance](https://docs.tatum.io/reference/rpc-casper-query_balance.md): Casper RPC - [query_global_state](https://docs.tatum.io/reference/rpc-casper-query_global_state.md): Casper RPC - [state_get_account_info](https://docs.tatum.io/reference/rpc-casper-state_get_account_info.md): Casper RPC - [state_get_auction_info](https://docs.tatum.io/reference/rpc-casper-state_get_auction_info.md): Casper RPC - [state_get_dictionary_item](https://docs.tatum.io/reference/rpc-casper-state_get_dictionary_item.md): Casper RPC - [Invoke a method in a smart contract on Celo](https://docs.tatum.io/reference/celoblockchainsmartcontractinvocation.md):

    /v3/celo/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on Celo.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send Celo / ERC20 from account to account](https://docs.tatum.io/reference/celoblockchaintransfer.md):

    /v3/celo/transaction

    2 credits per API call

    Send Celo, cUSD or Tatum supported ERC20 token from account to account.

    Signing a transaction

    When sending CELO, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Broadcast signed Celo transaction](https://docs.tatum.io/reference/celobroadcast.md):

    /v3/celo/broadcast

    2 credits per API call

    Broadcast signed transaction to Celo blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate Celo account address from Extended public key](https://docs.tatum.io/reference/celogenerateaddress.md):

    /v3/celo/address/{xpub}/{index}

    1 credit per API call

    Generate Celo account deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31.

    - [Generate Celo private key](https://docs.tatum.io/reference/celogenerateaddressprivatekey.md):

    /v3/celo/wallet/priv

    1 credit per API call

    Generate private key of address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^31 private keys starting from index 0 until 2^31.

    - [Generate Celo wallet](https://docs.tatum.io/reference/celogeneratewallet.md):

    /v3/celo/wallet

    1 credit per API call

    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for Celo wallet with derivation path m'/44'/52752'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Celo wallet.

    - [Get Celo Account balance](https://docs.tatum.io/reference/celogetbalance.md):

    /v3/celo/account/balance/{address}

    1 credit per API call

    Get Celo account balance in ETH. This method does not prints any balance of the ERC20 or ERC721 tokens on the account.

    - [Get Celo block by hash](https://docs.tatum.io/reference/celogetblock.md):

    ⚠️ Deprecated: Get Celo Block


    GET /v3/celo/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Get block by hash or height for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get Celo block by block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/celogetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block Number


    GET /v3/celo/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Get the current block height for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get Celo current block number. This is the number of the latest block in the blockchain.

    - [Get Celo Transaction](https://docs.tatum.io/reference/celogettransaction.md):

    ⚠️ Deprecated: Get Celo Transaction


    GET /v3/celo/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Get transaction by hash for any supported blockchain.


    Explore Docs →

    2 credits per API call

    Get Celo transaction by transaction hash.

    - [Get Celo transactions by address](https://docs.tatum.io/reference/celogettransactionbyaddress.md):

    /v3/celo/account/transaction/{address}

    This endpoint is deprecated. Do not use it.

    20 credit per API call

    Get Celo transactions by address. This includes incoming and outgoing transactions for the address.

    - [Get count of outgoing Celo transactions](https://docs.tatum.io/reference/celogettransactioncount.md):

    ⚠️ Deprecated: Get Celo Transaction Count


    GET /v3/celo/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Get outgoing transaction count for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get a number of outgoing Celo transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/celoweb3driver.md):

    /v3/celo/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based web3 driver to connect directly to the Celo node provided by Tatum. To learn more about Celo Web3, visit the Celo developer's guide.

    - [Celo](https://docs.tatum.io/reference/rpc-celo.md): Celo is a mobile-first blockchain focused on financial inclusion. Explore its fast, low-cost transactions for dApps and decentralized finance. - [debug_getbadblocks](https://docs.tatum.io/reference/rpc-celo-debug_getbadblocks.md): Celo RPC - [debug_storagerangeat](https://docs.tatum.io/reference/rpc-celo-debug_storagerangeat.md): Celo RPC - [debug_traceblock](https://docs.tatum.io/reference/rpc-celo-debug_traceblock.md): Celo RPC - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-celo-debug_traceblockbyhash.md): Celo RPC - [debug_traceblockbynumber](https://docs.tatum.io/reference/rpc-celo-debug_traceblockbynumber.md): Celo RPC - [debug_tracecall](https://docs.tatum.io/reference/rpc-celo-debug_tracecall.md): Celo RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-celo-debug_tracetransaction.md): Celo RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-celo-eth_blocknumber.md): Celo RPC - [eth_call](https://docs.tatum.io/reference/rpc-celo-eth_call.md): Celo RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-celo-eth_chainid.md): Celo RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-celo-eth_estimategas.md): Celo RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-celo-eth_feehistory.md): Celo RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-celo-eth_gasprice.md): Celo RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-celo-eth_getbalance.md): Celo RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-celo-eth_getblockbyhash.md): Celo RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-celo-eth_getblockbynumber.md): Celo RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-celo-eth_getblocktransactioncountbyhash.md): Celo RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-celo-eth_getblocktransactioncountbynumber.md): Celo RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-celo-eth_getcode.md): Celo RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-celo-eth_getlogs.md): Celo RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-celo-eth_getproof.md): Celo RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-celo-eth_getstorageat.md): Celo RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-celo-eth_gettransactionbyblockhashandindex.md): Celo RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-celo-eth_gettransactionbyblocknumberandindex.md): Celo RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-celo-eth_gettransactionbyhash.md): Celo RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-celo-eth_gettransactioncount.md): Celo RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-celo-eth_gettransactionreceipt.md): Celo RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-celo-eth_getunclecountbyblockhash.md): Celo RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-celo-eth_getunclecountbyblocknumber.md): Celo RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-celo-eth_maxpriorityfeepergas.md): Celo RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-celo-eth_sendrawtransaction.md): Celo RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-celo-web3_clientversion.md): Celo RPC - [Chiliz](https://docs.tatum.io/reference/rpc-chiliz.md): Discover Chiliz, a blockchain built for sports and entertainment. Power your fan engagement and token-based rewards with fast, secure transactions. - [debug_getbadblocks](https://docs.tatum.io/reference/rpc-chiliz-debug_getbadblocks.md): Chiliz RPC - [debug_storagerangeat](https://docs.tatum.io/reference/rpc-chiliz-debug_storagerangeat.md): Chiliz RPC - [debug_traceblock](https://docs.tatum.io/reference/rpc-chiliz-debug_traceblock.md): Chiliz RPC - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-chiliz-debug_traceblockbyhash.md): Chiliz RPC - [debug_traceblockbynumber](https://docs.tatum.io/reference/rpc-chiliz-debug_traceblockbynumber.md): Chiliz RPC - [debug_tracecall](https://docs.tatum.io/reference/rpc-chiliz-debug_tracecall.md): Chiliz RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-chiliz-debug_tracetransaction.md): Chiliz RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-chiliz-eth_blocknumber.md): Chiliz RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-chiliz-eth_chainid.md): Chiliz RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-chiliz-eth_estimategas.md): Chiliz RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-chiliz-eth_feehistory.md): Chiliz RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-chiliz-eth_gasprice.md): Chiliz RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-chiliz-eth_getbalance.md): Chiliz RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-chiliz-eth_getblockbyhash.md): Chiliz RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-chiliz-eth_getblockbynumber.md): Chiliz RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-chiliz-eth_getblocktransactioncountbyhash.md): Chiliz RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-chiliz-eth_getblocktransactioncountbynumber.md): Chiliz RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-chiliz-eth_getcode.md): Chiliz RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-chiliz-eth_getlogs.md): Chiliz RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-chiliz-eth_getproof.md): Chiliz RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-chiliz-eth_getstorageat.md): Chiliz RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-chiliz-eth_gettransactionbyblockhashandindex.md): Chiliz RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-chiliz-eth_gettransactionbyblocknumberandindex.md): Chiliz RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-chiliz-eth_gettransactionbyhash.md): Chiliz RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-chiliz-eth_gettransactioncount.md): Chiliz RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-chiliz-eth_gettransactionreceipt.md): Chiliz RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-chiliz-eth_getunclecountbyblockhash.md): Chiliz RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-chiliz-eth_getunclecountbyblocknumber.md): Chiliz RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-chiliz-eth_maxpriorityfeepergas.md): Chiliz RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-chiliz-eth_sendrawtransaction.md): Chiliz RPC - [txpool_content](https://docs.tatum.io/reference/rpc-chiliz-txpool_content.md): Chiliz RPC - [txpool_inspect](https://docs.tatum.io/reference/rpc-chiliz-txpool_inspect.md): Chiliz RPC - [txpool_status](https://docs.tatum.io/reference/rpc-chiliz-txpool_status.md): Chiliz RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-chiliz-web3_clientversion.md): Chiliz RPC - [Account](https://docs.tatum.io/reference/rpc-cosmos-account.md): Account returns account details based on address. - [AccountInfo](https://docs.tatum.io/reference/rpc-cosmos-accountinfo.md): AccountInfo queries account info which is common to all account types. - [Accounts](https://docs.tatum.io/reference/rpc-cosmos-accounts.md): Accounts returns all the existing accounts. When called from another module, this query might consume a high amount of gas if the pagination field is incorrectly set. - [AddressStringToBytes](https://docs.tatum.io/reference/rpc-cosmos-addressbytestobytes.md): AddressStringToBytes converts Address string to bytes - [AddressBytesToString](https://docs.tatum.io/reference/rpc-cosmos-addressbytestostring.md): AddressBytesToString converts Account Address bytes to string - [AllBalances](https://docs.tatum.io/reference/rpc-cosmos-allbalances.md): AllBalances queries the balance of all coins for a single account. When called from another module, this query might consume a high amount of gas if the pagination field is incorrectly set. - [AllEvidence](https://docs.tatum.io/reference/rpc-cosmos-allevidence.md): AllEvidence queries all evidence. - [Allowance](https://docs.tatum.io/reference/rpc-cosmos-allowance.md): Allowance returns granted allowance to the grantee by the granter. - [AllowancesByGranter](https://docs.tatum.io/reference/rpc-cosmos-allowancebygranter.md): AllowancesByGranter returns all the grants given by an address - [AnnualProvisions](https://docs.tatum.io/reference/rpc-cosmos-annualprovisions.md): AnnualProvisions current minting annual provisions value. - [AppliedPlan](https://docs.tatum.io/reference/rpc-cosmos-appliedplan.md): AppliedPlan queries a previously applied upgrade plan by its name. - [Authority](https://docs.tatum.io/reference/rpc-cosmos-authority.md): Returns the account with authority to conduct upgrades - [AuthParams](https://docs.tatum.io/reference/rpc-cosmos-authparams.md): Params queries all parameters. - [Bech32Prefix](https://docs.tatum.io/reference/rpc-cosmos-bech32prefix.md): Bech32Prefix queries bech32Prefix - [BroadcastTx](https://docs.tatum.io/reference/rpc-cosmos-broadcasttx.md): BroadcastTx broadcast transaction. - [CurrentPlan](https://docs.tatum.io/reference/rpc-cosmos-currentplan.md): CurrentPlan queries the current upgrade plan. - [Delegation](https://docs.tatum.io/reference/rpc-cosmos-delegation.md): Delegation queries delegate info for given validator delegator pair. - [DelegationRewards](https://docs.tatum.io/reference/rpc-cosmos-delegationrewards.md): DelegationRewards queries the total rewards accrued by a delegation. - [DelegationTotalRewards](https://docs.tatum.io/reference/rpc-cosmos-delegationtotalrewards.md): DelegationTotalRewards queries the total rewards accrued by each validator. - [DelegatorDelegations](https://docs.tatum.io/reference/rpc-cosmos-delegatordelegations.md): DelegatorDelegations queries all delegations of a given delegator address. When called from another module, this query might consume a high amount of gas if the pagination field is incorrectly set. - [DelegatorUnbondingDelegations](https://docs.tatum.io/reference/rpc-cosmos-delegatorunboundingdelegations.md): DelegatorUnbondingDelegations queries all unbonding delegations of a given delegator address. When called from another module, this query might consume a high amount of gas if the pagination field is incorrectly set. - [DelegatorValidator](https://docs.tatum.io/reference/rpc-cosmos-delegatorvalidator.md): DelegatorValidator queries validator info for given delegator validator pair. - [DelegatorValidators](https://docs.tatum.io/reference/rpc-cosmos-delegatorvalidators.md): DelegatorValidators queries the validators of a delegator. - [DelegatorWithdrawAddress](https://docs.tatum.io/reference/rpc-cosmos-delegatorwithdrawaddress.md): DelegatorWithdrawAddress queries withdraw address of a delegator. - [DenomMetadata](https://docs.tatum.io/reference/rpc-cosmos-denommetadata.md): DenomMetadata queries the client metadata of a given coin denomination. - [DenomsMetadata](https://docs.tatum.io/reference/rpc-cosmos-denomsmetadata.md): DenomsMetadata queries the client metadata for all registered coin denominations. - [Deposit](https://docs.tatum.io/reference/rpc-cosmos-deposit.md): Deposit queries single deposit information based on proposalID, depositor address. - [Deposits](https://docs.tatum.io/reference/rpc-cosmos-deposits.md): Deposits queries all deposits of a single proposal. - [DistributionParams](https://docs.tatum.io/reference/rpc-cosmos-distributionparams.md): Params queries params of the distribution module. - [GetBlockByHeight](https://docs.tatum.io/reference/rpc-cosmos-getblockbyheight.md): GetBlockByHeight queries block for given height. - [GetLatestBlock](https://docs.tatum.io/reference/rpc-cosmos-getlatestblock.md): GetLatestBlock returns the latest block. - [GetLatestValidatorSet](https://docs.tatum.io/reference/rpc-cosmos-getlatestvalidatorset.md): GetLatestValidatorSet queries latest validator-set. - [GetNodeInfo](https://docs.tatum.io/reference/rpc-cosmos-getnodeinfo.md): GetNodeInfo queries the current node info. - [GetSyncing](https://docs.tatum.io/reference/rpc-cosmos-getsyncing.md): GetSyncing queries node syncing. - [GetTx](https://docs.tatum.io/reference/rpc-cosmos-gettx.md): GetTx fetches a tx by hash. - [GetTxsEvent](https://docs.tatum.io/reference/rpc-cosmos-gettxsevent.md): GetTxsEvent fetches txs by event. - [GetValidatorSetByHeight](https://docs.tatum.io/reference/rpc-cosmos-getvalidatorsetbyheigh.md): GetValidatorSetByHeight queries validator-set at a given height. - [GovParams](https://docs.tatum.io/reference/rpc-cosmos-govparams.md): Params queries all parameters of the gov module. - [GranteeGrants](https://docs.tatum.io/reference/rpc-cosmos-granteegrants.md): GranteeGrants returns a list of `GrantAuthorization` by grantee. - [GranterGrants](https://docs.tatum.io/reference/rpc-cosmos-grantergrants.md): GranterGrants returns list of `GrantAuthorization`, granted by granter. - [Grants](https://docs.tatum.io/reference/rpc-cosmos-grants.md): Returns list of `Authorization`, granted to the grantee by the granter. - [HistoricalInfo](https://docs.tatum.io/reference/rpc-cosmos-historicalinfo.md): HistoricalInfo queries the historical info for given height. - [Inflation](https://docs.tatum.io/reference/rpc-cosmos-inflation.md): Inflation returns the current minting inflation value. - [MintParams](https://docs.tatum.io/reference/rpc-cosmos-mintparams.md): Params returns the total set of minting parameters. - [ModuleAccounts](https://docs.tatum.io/reference/rpc-cosmos-moduleaccounts.md): ModuleAccounts returns all the existing module accounts. - [ModuleAccountByName](https://docs.tatum.io/reference/rpc-cosmos-moduleaccountsbyname.md): ModuleAccountByName returns the module account info by module name - [ModuleVersions](https://docs.tatum.io/reference/rpc-cosmos-moduleversions.md): ModuleVersions queries the list of module versions from state. - [Params](https://docs.tatum.io/reference/rpc-cosmos-params.md): Params queries a specific parameter of a module, given its subspace and key. - [Pool](https://docs.tatum.io/reference/rpc-cosmos-pool.md): Pool queries the pool info. - [Proposal](https://docs.tatum.io/reference/rpc-cosmos-proposal.md): Proposal queries proposal details based on ProposalID. - [Proposals](https://docs.tatum.io/reference/rpc-cosmos-proposals.md): Proposals queries all proposals based on given status. - [Redelegations](https://docs.tatum.io/reference/rpc-cosmos-redelegations.md): When called from another module, this query might consume a high amount of gas if the pagination field is incorrectly set. - [SigningInfo](https://docs.tatum.io/reference/rpc-cosmos-signinginfo.md): SigningInfo queries the signing info of given cons address - [SigningInfos](https://docs.tatum.io/reference/rpc-cosmos-signinginfos.md): SigningInfos queries signing info of all validators - [SlashingParams](https://docs.tatum.io/reference/rpc-cosmos-slashingparams.md): Params queries the parameters of slashing module - [StakingDelegatorValidators](https://docs.tatum.io/reference/rpc-cosmos-stakingdelegatorvalidators.md): DelegatorValidators queries all validators info for given delegator address. When called from another module, this query might consume a high amount of gas if the pagination field is incorrectly set. - [StakingParams](https://docs.tatum.io/reference/rpc-cosmos-stakingparams.md): Parameters queries the staking parameters. - [Subspaces](https://docs.tatum.io/reference/rpc-cosmos-subspaces.md): Subspaces queries for all registered subspaces and all keys for a subspace. - [TallyResult](https://docs.tatum.io/reference/rpc-cosmos-tallyresult.md): TallyResult queries the tally of a proposal vote. - [UnbondingDelegation](https://docs.tatum.io/reference/rpc-cosmos-unbondingdelegation.md): UnbondingDelegation queries unbonding info for given validator delegator pair. - [UpgradedConsensusState](https://docs.tatum.io/reference/rpc-cosmos-upgradedconsensusstate.md): UpgradedConsensusState queries the consensus state that will serve as a trusted kernel for the next version of this chain. It will only be stored at the last height of this chain. UpgradedConsensusState RPC not supported with legacy querier This rpc is deprecated now that IBC has its own replacement (https://github.com/v3/blockchain/node/kadena-mainnet/{xApiKey}/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54) - [Validator](https://docs.tatum.io/reference/rpc-cosmos-validator.md): Validator queries validator info for given validator address. - [ValidatorCommission](https://docs.tatum.io/reference/rpc-cosmos-validatorcommission.md): ValidatorCommission queries accumulated commission for a validator. - [ValidatorDelegations](https://docs.tatum.io/reference/rpc-cosmos-validatordelegations.md): ValidatorDelegations queries delegate info for given validator. When called from another module, this query might consume a high amount of gas if the pagination field is incorrectly set. - [ValidatorDistributionInfo](https://docs.tatum.io/reference/rpc-cosmos-validatordistributioninfo.md): ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator - [ValidatorOutstandingRewards](https://docs.tatum.io/reference/rpc-cosmos-validatoroutstandingrewards.md): ValidatorOutstandingRewards queries rewards of a validator address. - [Validators](https://docs.tatum.io/reference/rpc-cosmos-validators.md): Validators queries all validators that match the given status. When called from another module, this query might consume a high amount of gas if the pagination field is incorrectly set. - [ValidatorSlashes](https://docs.tatum.io/reference/rpc-cosmos-validatorslashes.md): ValidatorSlashes queries slash events of a validator. - [ValidatorUnbondingDelegations](https://docs.tatum.io/reference/rpc-cosmos-validatorunbondingdelegations.md): ValidatorUnbondingDelegations queries unbonding delegations of a validator. When called from another module, this query might consume a high amount of gas if the pagination field is incorrectly set. - [Vote](https://docs.tatum.io/reference/rpc-cosmos-vote.md): Vote queries voted information based on proposalID, voterAddr. Due to how we handle state, this query would error for proposals that has already been finished. - [Votes](https://docs.tatum.io/reference/rpc-cosmos-votes.md): Votes queries votes of a given proposal. - [BankParams](https://docs.tatum.io/reference/rpc-cosmosbankparams.md): Params queries the parameters of x/bank module. - [Cosmos - gRPC](https://docs.tatum.io/reference/cosmos-grpc.md): Cosmos gRPC is a high-performance, strongly-typed interface for interacting with Cosmos SDK chains using Protocol Buffers and HTTP/2. This guide shows how to connect to Tatum’s Cosmos gRPC endpoint, authenticate with an API key, set up a Node.js environment with required .proto files, and execute common queries like retrieving balances or staking data. - [Cosmos](https://docs.tatum.io/reference/rpc-cosmos.md): Discover Cosmos, a blockchain designed for interoperability. Build cross-chain decentralized applications using its RPC gateway. - [Invoke a method in a smart contract on Cronos](https://docs.tatum.io/reference/cronosblockchainsmartcontractinvocation.md):

    /v3/cronos/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on Cronos.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    If caller field is present instead of the private key, Tatum will sign the transaction with the managed private key connected to the caller address. This is applicable only for paid mainnet plans and all testnet plans. Keep in mind that the caller address must have enough access right to perform the action in the smart contract method.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Send CRO or fungible tokens (ERC-20) from account to account](https://docs.tatum.io/reference/cronosblockchaintransfer.md):

    /v3/cronos/transaction

    2 credits per API call

    Send CRO or Tatum-supported fungible tokens (ERC-20) from account to account.

    NOTE: Sending the fungible tokens is supported only on the mainnet.

    Signing a transaction
    When sending CRO, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Broadcast signed Cronos transaction](https://docs.tatum.io/reference/cronosbroadcast.md):

    /v3/cronos/broadcast

    2 credits per API call

    Broadcast signed transaction to Cronos blockchain.

    - [Generate Cronos account address from Extended public key](https://docs.tatum.io/reference/cronosgenerateaddress.md):

    /v3/cronos/address/{xpub}/{index}

    1 credit per API call.


    Generates an Cronos account deposit address from an Extended public key. The deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate Cronos private key](https://docs.tatum.io/reference/cronosgenerateaddressprivatekey.md):

    /v3/cronos/wallet/priv

    1 credit per API call.


    Generates the private key of an address from a mnemonic for a given derivation path index. The private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Cronos wallet](https://docs.tatum.io/reference/cronosgeneratewallet.md):

    /v3/cronos/wallet

    1 credit per API call.


    Tatum supports BIP44 HD wallets. Because they can generate 2^31 addresses from 1 mnemonic phrase, they are very convenient and secure. A mnemonic phrase consists of 24 special words in a defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows the BIP44 specification and generates for Cronos wallets with the derivation path m/44'/60'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generates a BIP44 compatible Cronos wallet.

    - [Get the CRO balance of an Cronos account](https://docs.tatum.io/reference/cronosgetbalance.md):

    ⚠️ Deprecated: Get Cronos Balance


    GET /v3/cronos/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get native balance for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get the balance of CRO of an Cronos account.

    To get the balance of tokens, use the APIs for getting the balance of fungible tokens (ERC-20) and NFTs (ERC-721).

    - [Get Cronos block by hash](https://docs.tatum.io/reference/cronosgetblock.md):

    ⚠️ Deprecated: Get Cronos Block


    GET /v3/cronos/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Get block by hash or height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets an Cronos block-by-block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/cronosgetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block Number


    GET /v3/cronos/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Get the current block height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets the current Cronos block number. This is the number of the latest block in the blockchain.

    - [Get Cronos Transaction](https://docs.tatum.io/reference/cronosgettransaction.md):

    ⚠️ Deprecated: Get Cronos Transaction


    GET /v3/cronos/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Get transaction by hash for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get Cronos transaction by transaction hash.

    - [Get count of outgoing Cronos transactions](https://docs.tatum.io/reference/cronosgettransactioncount.md):

    ⚠️ Deprecated: Get Cronos Transaction Count


    GET /v3/cronos/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Get outgoing transaction count for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Get a number of outgoing Cronos transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/cronosweb3driver.md):

    /v3/cronos/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based web3 driver to connect directly to the Cronos node provided by Tatum. To learn more about Cronos Web3, visit the Cronos developers' guide.

    - [Cronos](https://docs.tatum.io/reference/rpc-cronos.md): Explore Cronos, an EVM-compatible blockchain for DeFi and NFTs. Benefit from low-cost transactions and cross-chain interoperability. - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-cronos-debug_traceblockbyhash.md): Cronos RPC - [debug_traceblockbynumber](https://docs.tatum.io/reference/rpc-cronos-debug_traceblockbynumber.md): Cronos RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-cronos-debug_tracetransaction.md): Cronos RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-cronos-eth_blocknumber.md): Cronos RPC - [eth_call](https://docs.tatum.io/reference/rpc-cronos-eth_call.md): Cronos RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-cronos-eth_chainid.md): Cronos RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-cronos-eth_estimategas.md): Cronos RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-cronos-eth_feehistory.md): Cronos RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-cronos-eth_gasprice.md): Cronos RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-cronos-eth_getbalance.md): Cronos RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-cronos-eth_getblockbyhash.md): Cronos RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-cronos-eth_getblockbynumber.md): Cronos RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-cronos-eth_getblocktransactioncountbyhash.md): Cronos RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-cronos-eth_getblocktransactioncountbynumber.md): Cronos RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-cronos-eth_getcode.md): Cronos RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-cronos-eth_getlogs.md): Cronos RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-cronos-eth_getproof.md): Cronos RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-cronos-eth_getstorageat.md): Cronos RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-cronos-eth_gettransactionbyblockhashandindex.md): Cronos RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-cronos-eth_gettransactionbyblocknumberandindex.md): Cronos RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-cronos-eth_gettransactionbyhash.md): Cronos RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-cronos-eth_gettransactioncount.md): Cronos RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-cronos-eth_gettransactionreceipt.md): Cronos RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-cronos-eth_getunclecountbyblockhash.md): Cronos RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-cronos-eth_getunclecountbyblocknumber.md): Cronos RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-cronos-eth_maxpriorityfeepergas.md): Cronos RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-cronos-eth_sendrawtransaction.md): Cronos RPC - [txpool_content](https://docs.tatum.io/reference/rpc-cronos-txpool_content.md): Cronos RPC - [txpool_inspect](https://docs.tatum.io/reference/rpc-cronos-txpool_inspect.md): Cronos RPC - [txpool_status](https://docs.tatum.io/reference/rpc-cronos-txpool_status.md): Cronos RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-cronos-web3_clientversion.md): Cronos RPC - [Broadcast signed Dogecoin transaction](https://docs.tatum.io/reference/dogebroadcast.md):

    /v3/dogecoin/broadcast

    2 credits per API call.


    Broadcast signed transaction to Dogecoin blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate Dogecoin deposit address from Extended public key](https://docs.tatum.io/reference/dogegenerateaddress.md):

    /v3/dogecoin/address/{xpub}/{index}

    1 credit per API call.


    Generate Dogecoin deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate Dogecoin private key](https://docs.tatum.io/reference/dogegenerateaddressprivatekey.md):

    /v3/dogecoin/wallet/priv

    2 credits per API call.


    Generate private key for address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Dogecoin wallet](https://docs.tatum.io/reference/dogegeneratewallet.md):

    /v3/dogecoin/wallet

    1 credit per API call.


    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for Dogecoin wallet with derivation path m'/44'/3'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/litecoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Dogecoin wallet.

    - [Get the balance of a Dogecoin address](https://docs.tatum.io/reference/dogegetbalanceofaddress.md):

    ⚠️ Deprecated: Get Dogecoin Address Balance


    GET /v3/dogecoin/address/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get the balance of a Dogecoin address.


    Explore Docs →

    /v3/dogecoin/address/balance/{address}

    5 credits per API call

    Get the balance of a Dogecoin address.

  8. Note: Dogecoin mainnet, Dogecoin testnet is now supported for any amount of utxo's on address with our latest update. This functionality will be extended to other chains soon.
  9. - [Get the balance of multiple Dogecoin addresses](https://docs.tatum.io/reference/dogegetbalanceofaddressbatch.md):

    ⚠️ Deprecated: Get Dogecoin Address Balance Batch


    GET /v3/dogecoin/address/balance/batch is deprecated.

    Use GET /v4/data/blockchains/balance/batch

    Get the balance of multiple Dogecoin addresses.


    Explore Docs →

    /v3/dogecoin/address/balance/batch

    5 credit per address for each API call

    Get the balance of multiple Dogecoin addresses.

    - [Get Dogecoin Block by hash or height](https://docs.tatum.io/reference/dogegetblock.md):

    /v3/dogecoin/block/{hash}

    1 credit per API call.


    Get Dogecoin Block detail by block hash or height.

    - [Get Dogecoin Blockchain Information](https://docs.tatum.io/reference/dogegetblockchaininfo.md):

    /v3/dogecoin/info

    1 credit per API call.


    Get Dogecoin Blockchain Information. Obtain basic info like testnet / mainnet version of the chain, current block number and it's hash.

    - [Get Dogecoin Block hash](https://docs.tatum.io/reference/dogegetblockhash.md):

    ⚠️ Deprecated: Get Block Hash


    GET /v3/dogecoin/block/hash/{i} is deprecated.

    Use GET /v4/data/blockchains/block/hash

    Fetch the hash of a block from the blockchain.


    Explore Docs →

    /v3/dogecoin/block/hash/{i}

    1 credit per API call.


    Get Dogecoin Block hash. Returns hash of the block to get the block detail.

    - [Get Mempool Transactions](https://docs.tatum.io/reference/dogegetmempool.md):

    ⚠️ Deprecated: Get Mempool


    GET /v3/dogecoin/mempool is deprecated.

    Use GET /v4/data/blockchains/mempool

    Get mempool (unconfirmed) transaction hashes for a UTXO chain.


    Explore Docs →

    /v3/dogecoin/mempool

    1 credit per API call.


    Get Dogecoin Transaction ids in the mempool.

    - [Get Dogecoin Transaction by hash](https://docs.tatum.io/reference/dogegetrawtransaction.md):

    /v3/dogecoin/transaction/{hash}

    1 credit per API call.


    Get Dogecoin Transaction detail by transaction hash.

    - [Get Dogecoin Transactions by address](https://docs.tatum.io/reference/dogegettxbyaddress.md):

    /v3/dogecoin/transaction/address/{address}

    5 credits per API call.


    Get Dogecoin Transaction by address.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum Dogecoin SDK.' - [Get transactions for multiple Dogecoin addresses in a batch](https://docs.tatum.io/reference/dogegettxbyaddressbatch.md):

    /v3/dogecoin/transaction/address/batch

    5 credit per address for each API call

    Retrieve transactions for multiple Dogecoin addresses in a batch.

    - [Get information about a transaction output (UTXO) in a Dogecoin transaction](https://docs.tatum.io/reference/dogegetutxo.md):

    ⚠️ Deprecated: Get UTXO


    GET /v3/dogecoin/utxo/{hash}/{index} is deprecated.

    Use GET /v4/data/blockchains/utxo/info

    Get information about a transaction output (UTXO) by transaction hash and output index.


    Explore Docs →

    /v3/dogecoin/utxo/{hash}/{index}

    1 credit per API call

    Get information about a transaction output in a transaction and check whether this output is a UTXO or has been spent.

    "UTXO" stands for "Unspent Transaction Output". A UTXO is the amount of DOGE that remains at a Dogecoin address after a cryptocurrency transaction involving this address has been performed. The UTXO can then be used as input for a new cryptocurrency transaction. For more information about the UTXO, see the Bitcoin user documentation.

    - [JSON RPC HTTP driver](https://docs.tatum.io/reference/dogerpcdriver.md):

    /v3/dogecoin/node

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based JSON RPC driver to connect directly to the node provided by Tatum.

    - [Send DOGE to Dogecoin addresses](https://docs.tatum.io/reference/dogetransferblockchain.md):

    /v3/dogecoin/transaction

    2 credits per API call

    Send DOGE to blockchain addresses.

    Dogecoin transactions are based on UTXOs. "UTXO" stands for "Unspent Transaction Output". A UTXO is the amount of DOGE that remains at a Bitcoin Cash address after a cryptocurrency transaction involving this address has been performed. The UTXO can then be used as input for a new cryptocurrency transaction. For more information the UTXO, see the Bitcoin user documentation. To check UTXOs in a transaction, see the API for getting information about a transaction output (UTXO) in a Dogecoin transaction

    You build a DOGE transaction by sending DOGE from UTXOs. Each UTXO is included in the transaction.

    When an UTXO is entered into a transaction, the whole UTXO amount is included and must be spent. For example, address A receives two transactions, T1 with 1 DOGE and T2 with 2 DOGE. A transaction that consumes the UTXOs from both T1 and T2 will have an available amount of 3 DOGE to spend:
    1 DOGE (from T1) + 2 DOGE (from T2) = 3 DOGE (to spend in total)

    You can send the assets to one or multiple recipients in one transaction. If you send the assets to multiple addresses, each address must have its own amount to receive.

    Paying the gas fee and receiving the change
    When the amount that the recipients should receive is lower than the amount from the UTXOs, the difference between these two amounts is by default used as the gas fee for the transaction. Because this amount may be considerable and you may not want to spend it all on the gas fee, you can explicitly specify the fee amount and the blockchain address where any extra funds remaining after covering the fee will be sent (the fee and changeAddress parameters in the request body, correspondingly).

    Signing a transaction
    When sending DOGE, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Dogecoin](https://docs.tatum.io/reference/rpc-dogecoin.md): Discover Dogecoin, a fun and fast blockchain designed for low-cost peer-to-peer transactions. Build decentralized apps with its easy-to-use RPC gateway - [createrawtransaction](https://docs.tatum.io/reference/rpc-dogecoin-createrawtransaction.md): Dogecoin RPC - [decoderawtransaction](https://docs.tatum.io/reference/rpc-dogecoin-decoderawtransaction.md): Dogecoin RPC - [decodescript](https://docs.tatum.io/reference/rpc-dogecoin-decodescript.md): Dogecoin RPC - [estimatesmartfee](https://docs.tatum.io/reference/rpc-dogecoin-estimatesmartfee.md): Dogecoin RPC - [getbestblockhash](https://docs.tatum.io/reference/rpc-dogecoin-getbestblockhash.md): Dogecoin RPC - [getblock](https://docs.tatum.io/reference/rpc-dogecoin-getblock.md): Dogecoin RPC - [getblockchaininfo](https://docs.tatum.io/reference/rpc-dogecoin-getblockchaininfo.md): Dogecoin RPC - [getblockcount](https://docs.tatum.io/reference/rpc-dogecoin-getblockcount.md): Dogecoin RPC - [getblockhash](https://docs.tatum.io/reference/rpc-dogecoin-getblockhash.md): Dogecoin RPC - [getblockheader](https://docs.tatum.io/reference/rpc-dogecoin-getblockheader.md): Dogecoin RPC - [getchaintips](https://docs.tatum.io/reference/rpc-dogecoin-getchaintips.md): Dogecoin RPC - [getdifficulty](https://docs.tatum.io/reference/rpc-dogecoin-getdifficulty.md): Dogecoin RPC - [getmempoolancestors](https://docs.tatum.io/reference/rpc-dogecoin-getmempoolancestors.md): Dogecoin RPC - [getmempooldescendants](https://docs.tatum.io/reference/rpc-dogecoin-getmempooldescendants.md): Dogecoin RPC - [getmempoolentry](https://docs.tatum.io/reference/rpc-dogecoin-getmempoolentry.md): Dogecoin RPC - [getmempoolinfo](https://docs.tatum.io/reference/rpc-dogecoin-getmempoolinfo.md): Dogecoin RPC - [getrawmempool](https://docs.tatum.io/reference/rpc-dogecoin-getrawmempool.md): Dogecoin RPC - [getrawtransaction](https://docs.tatum.io/reference/rpc-dogecoin-getrawtransaction.md): Dogecoin RPC - [gettxout](https://docs.tatum.io/reference/rpc-dogecoin-gettxout.md): Dogecoin RPC - [gettxoutproof](https://docs.tatum.io/reference/rpc-dogecoin-gettxoutproof.md): Dogecoin RPC - [sendrawtransaction](https://docs.tatum.io/reference/rpc-dogecoin-sendrawtransaction.md): Dogecoin RPC - [validateaddress](https://docs.tatum.io/reference/rpc-dogecoin-validateaddress.md): Dogecoin RPC - [verifymessage](https://docs.tatum.io/reference/rpc-dogecoin-verifymessage.md): Dogecoin RPC - [verifytxoutproof](https://docs.tatum.io/reference/rpc-dogecoin-verifytxoutproof.md): Dogecoin RPC - [Eos](https://docs.tatum.io/reference/rpc-eos.md): Explore EOS, a blockchain designed for high-performance decentralized applications. Build scalable dApps with its fast finality and low fees. - [get_abi](https://docs.tatum.io/reference/rpc-eos-get_abi.md): Eos RPC - [get_account](https://docs.tatum.io/reference/rpc-eos-get_account.md): Eos RPC - [get_accounts_by_authorizers](https://docs.tatum.io/reference/rpc-eos-get_accounts_by_authorizers.md): Eos RPC - [get_activated_protocol_features](https://docs.tatum.io/reference/rpc-eos-get_activated_protocol_features.md): Eos RPC - [get_block_info](https://docs.tatum.io/reference/rpc-eos-get_block_info.md): Eos RPC - [get_block](https://docs.tatum.io/reference/rpc-eos-get_block.md): Eos RPC - [get_code](https://docs.tatum.io/reference/rpc-eos-get_code.md): Eos RPC - [get_currency_balance](https://docs.tatum.io/reference/rpc-eos-get_currency_balance.md): Eos RPC - [get_currency_stats](https://docs.tatum.io/reference/rpc-eos-get_currency_stats.md): Eos RPC - [get_info](https://docs.tatum.io/reference/rpc-eos-get_info.md): Eos RPC - [get_producers](https://docs.tatum.io/reference/rpc-eos-get_producers.md): Eos RPC - [get_raw_abi](https://docs.tatum.io/reference/rpc-eos-get_raw_abi.md): Eos RPC - [get_raw_code_and_abi](https://docs.tatum.io/reference/rpc-eos-get_raw_code_and_abi.md): Eos RPC - [get_required_keys](https://docs.tatum.io/reference/rpc-eos-get_required_keys.md): Eos RPC - [get_table_by_scope](https://docs.tatum.io/reference/rpc-eos-get_table_by_scope.md): Eos RPC - [get_table_rows](https://docs.tatum.io/reference/rpc-eos-get_table_rows.md): Eos RPC - [push_transaction](https://docs.tatum.io/reference/rpc-eos-push_transaction.md): Eos RPC - [push_transactions](https://docs.tatum.io/reference/rpc-eos-push_transactions.md): Eos RPC - [send_transaction](https://docs.tatum.io/reference/rpc-eos-send_transaction.md): Eos RPC - [trace-api-get_block](https://docs.tatum.io/reference/rpc-eos-trace-api-get_block.md): Eos RPC - [Ethereum Classic](https://docs.tatum.io/reference/rpc-ethereum-classic.md): Ethereum Classic is a decentralized blockchain preserving original Ethereum chain. Access Tatum RPC guide to connect, query, and manage smart contracts with proof-of-work security and EVM support for dApp development. - [debug_getbadblocks](https://docs.tatum.io/reference/rpc-ethereum-classic-debug_getbadblocks.md): Ethereum Classic RPC - [debug_storagerangeat](https://docs.tatum.io/reference/rpc-ethereum-classic-debug_storagerangeat.md): Ethereum Classic RPC - [debug_traceblock](https://docs.tatum.io/reference/rpc-ethereum-classic-debug_traceblock.md): Ethereum Classic RPC - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-ethereum-classic-debug_traceblockbyhash.md): Ethereum Classic RPC - [debug_traceblockbynumber](https://docs.tatum.io/reference/rpc-ethereum-classic-debug_traceblockbynumber.md): Ethereum Classic RPC - [debug_tracecall](https://docs.tatum.io/reference/rpc-ethereum-classic-debug_tracecall.md): Ethereum Classic RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-ethereum-classic-debug_tracetransaction.md): Ethereum Classic RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_blocknumber.md): Ethereum Classic RPC - [eth_call](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_call.md): Ethereum Classic RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_chainid.md): Ethereum Classic RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_estimategas.md): Ethereum Classic RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_feehistory.md): Ethereum Classic RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_gasprice.md): Ethereum Classic RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_getbalance.md): Ethereum Classic RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_getblockbyhash.md): Ethereum Classic RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_getblockbynumber.md): Ethereum Classic RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_getblocktransactioncountbyhash.md): Ethereum Classic RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_getblocktransactioncountbynumber.md): Ethereum Classic RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_getcode.md): Ethereum Classic RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_getlogs.md): Ethereum Classic RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_getproof.md): Ethereum Classic RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_getstorageat.md): Ethereum Classic RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_gettransactionbyblockhashandindex.md): Ethereum Classic RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_gettransactionbyblocknumberandindex.md): Ethereum Classic RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_gettransactionbyhash.md): Ethereum Classic RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_gettransactioncount.md): Ethereum Classic RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_gettransactionreceipt.md): Ethereum Classic RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_getunclecountbyblockhash.md): Ethereum Classic RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_getunclecountbyblocknumber.md): Ethereum Classic RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_maxpriorityfeepergas.md): Ethereum Classic RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-ethereum-classic-eth_sendrawtransaction.md): Ethereum Classic RPC - [txpool_content](https://docs.tatum.io/reference/rpc-ethereum-classic-txpool_content.md): Ethereum Classic RPC - [txpool_inspect](https://docs.tatum.io/reference/rpc-ethereum-classic-txpool_inspect.md): Ethereum Classic RPC - [txpool_status](https://docs.tatum.io/reference/rpc-ethereum-classic-txpool_status.md): Ethereum Classic RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-ethereum-classic-web3_clientversion.md): Ethereum Classic RPC - [Subscribe to beacon node events](https://docs.tatum.io/reference/rpc-ethereum-eventstream.md): Provides endpoint to subscribe to beacon node Server-Sent-Events stream. Consumers should use [eventsource](https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface) implementation to listen on those events. Servers _may_ send SSE comments beginning with `:` for any purpose, including to keep the event stream connection alive in the presence of proxy servers. - [Get aggregated attestation](https://docs.tatum.io/reference/rpc-ethereum-getaggregatedattestation.md): Aggregates all attestations matching given attestation data root and slot. A 503 error must be returned if the block identified by the response `beacon_block_root` is optimistic (i.e. the aggregated attestation attests to a block that has not been fully verified by an execution engine). A 404 error must be returned if no attestation is available for the requested `attestation_data_root`. - [Get aggregated attestation](https://docs.tatum.io/reference/rpc-ethereum-getaggregatedattestationv2.md): Aggregates all attestations matching given attestation data root, slot and committee index. A 503 error must be returned if the block identified by the response `beacon_block_root` is optimistic (i.e. the aggregated attestation attests to a block that has not been fully verified by an execution engine). A 404 error must be returned if no attestation is available for the requested `attestation_data_root`. - [Get attestations rewards](https://docs.tatum.io/reference/rpc-ethereum-getattestationsrewards.md): Retrieve attestation reward info for validators specified by array of public keys or validator index. If no array is provided, return reward info for every validator. - [Get attester duties](https://docs.tatum.io/reference/rpc-ethereum-getattesterduties.md): Requests the beacon node to provide a set of attestation duties, which should be performed by validators, for a particular epoch. Duties should only need to be checked once per epoch, however a chain reorganization (of > MIN_SEED_LOOKAHEAD epochs) could occur, resulting in a change of duties. For full safety, you should monitor head events and confirm the dependent root in this response matches: - event.previous_duty_dependent_root when `compute_epoch_at_slot(event.slot) == epoch` - event.current_duty_dependent_root when `compute_epoch_at_slot(event.slot) + 1 == epoch` - event.block otherwise The dependent_root value is `get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch - 1) - 1)` or the genesis block root in the case of underflow. - [Get blinded block](https://docs.tatum.io/reference/rpc-ethereum-getblindedblock.md): Retrieves blinded block for given block ID. Depending on `Accept` header it can be returned either as JSON or as bytes serialized by SSZ - [Get blob sidecars](https://docs.tatum.io/reference/rpc-ethereum-getblobsidecars.md): Retrieves blob sidecars for a given block id. Depending on `Accept` header it can be returned either as json or as bytes serialized by SSZ. If the `indices` parameter is specified, only the blob sidecars with the specified indices will be returned. There are no guarantees for the returned blob sidecars in terms of ordering. - [Get block attestations](https://docs.tatum.io/reference/rpc-ethereum-getblockattestations.md): Retrieves attestation included in requested block. - [Get block attestations](https://docs.tatum.io/reference/rpc-ethereum-getblockattestationsv2.md): Retrieves attestation included in requested block. - [Get block header](https://docs.tatum.io/reference/rpc-ethereum-getblockheader.md): Retrieves block header for given block id. - [Get block headers](https://docs.tatum.io/reference/rpc-ethereum-getblockheaders.md): Retrieves block headers matching given query. By default it will fetch current head slot blocks. - [Get block rewards](https://docs.tatum.io/reference/rpc-ethereum-getblockrewards.md): Retrieve block reward info for a single block. The rewards value is the sum of values of the proposer rewards from attestations, sync committees and slashings included in the proposal. - [Get block root](https://docs.tatum.io/reference/rpc-ethereum-getblockroot.md): Retrieves hashTreeRoot of BeaconBlock/BeaconBlockHeader - [Get block](https://docs.tatum.io/reference/rpc-ethereum-getblockv2.md): Retrieves block details for given block id. Depending on `Accept` header it can be returned either as json or as bytes serialized by SSZ - [Get fork choice leaves](https://docs.tatum.io/reference/rpc-ethereum-getdebugchainheadsv2.md): Retrieves all possible chain heads (leaves of fork choice tree). - [Get fork choice array](https://docs.tatum.io/reference/rpc-ethereum-getdebugforkchoice.md): Retrieves all current fork choice context. - [Get deposit contract address.](https://docs.tatum.io/reference/rpc-ethereum-getdepositcontract.md): Retrieve Eth1 deposit contract address and chain ID. - [Get Deposit Tree Snapshot](https://docs.tatum.io/reference/rpc-ethereum-getdepositsnapshot.md): Retrieve [EIP-4881](https://eips.ethereum.org/EIPS/eip-4881) Deposit Tree Snapshot. Depending on `Accept` header it can be returned either as json or as bytes serialized by SSZ - [Get all committees for a state.](https://docs.tatum.io/reference/rpc-ethereum-getepochcommittees.md): Retrieves the committees for the given state. - [Get sync committees for a state.](https://docs.tatum.io/reference/rpc-ethereum-getepochsynccommittees.md): Retrieves the current sync committee for the given state. Also returns the subcommittee assignments. - [Get scheduled upcoming forks.](https://docs.tatum.io/reference/rpc-ethereum-getforkschedule.md): Retrieve all forks, past present and future, of which this node is aware. - [Retrieve details of the chain's genesis.](https://docs.tatum.io/reference/rpc-ethereum-getgenesis.md): Retrieve details of the chain's genesis which can be used to identify chain. - [Get health check](https://docs.tatum.io/reference/rpc-ethereum-gethealth.md): Returns node health status in http status codes. Useful for load balancers. - [Get `LightClientBootstrap` structure for a requested block root](https://docs.tatum.io/reference/rpc-ethereum-getlightclientbootstrap.md): Requests the [`LightClientBootstrap`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/altair/light-client/sync-protocol.md#lightclientbootstrap) structure corresponding to a given post-Altair beacon block root. Depending on the `Accept` header it can be returned either as JSON or SSZ-serialized bytes. Servers SHOULD provide results as defined in [`create_light_client_bootstrap`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/altair/light-client/full-node.md#create_light_client_bootstrap). To fulfill a request, the requested block's post state needs to be known. - [Get the latest known `LightClientFinalityUpdate`](https://docs.tatum.io/reference/rpc-ethereum-getlightclientfinalityupdate.md): Requests the latest [`LightClientFinalityUpdate`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/altair/light-client/sync-protocol.md#lightclientfinalityupdate) known by the server. Depending on the `Accept` header it can be returned either as JSON or SSZ-serialized bytes. Servers SHOULD provide results as defined in [`create_light_client_finality_update`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/altair/light-client/full-node.md#create_light_client_finality_update). - [Get the latest known `LightClientOptimisticUpdate`](https://docs.tatum.io/reference/rpc-ethereum-getlightclientoptimisticupdate.md): Requests the latest [`LightClientOptimisticUpdate`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/altair/light-client/sync-protocol.md#lightclientoptimisticupdate) known by the server. Depending on the `Accept` header it can be returned either as JSON or SSZ-serialized bytes. Servers SHOULD provide results as defined in [`create_light_client_optimistic_update`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/altair/light-client/full-node.md#create_light_client_optimistic_update). - [Get `LightClientUpdate` instances in a requested sync committee period range](https://docs.tatum.io/reference/rpc-ethereum-getlightclientupdatesbyrange.md): Requests the [`LightClientUpdate`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/altair/light-client/sync-protocol.md#lightclientupdate) instances in the sync committee period range `[start_period, start_period + count)`, leading up to the current head sync committee period as selected by fork choice. Depending on the `Accept` header they can be returned either as JSON or SSZ-serialized bytes. Servers SHOULD provide results as defined in [`create_light_client_update`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/altair/light-client/full-node.md#create_light_client_update). They MUST respond with at least the earliest known result within the requested range, and MUST send results in consecutive order (by period). The response MUST NOT contain more than [`min(MAX_REQUEST_LIGHT_CLIENT_UPDATES, count)`](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/altair/light-client/p2p-interface.md#configuration) results. - [Indicates if a validator has been observed on the network](https://docs.tatum.io/reference/rpc-ethereum-getliveness.md): Requests the beacon node to indicate if a validator has been observed to be live in a given epoch. The beacon node might detect liveness by observing messages from the validator on the network, in the beacon chain, from its API or from any other source. A beacon node SHOULD support the current and previous epoch, however it MAY support earlier epoch. It is important to note that the values returned by the beacon node are not canonical; they are best-effort and based upon a subjective view of the network. A beacon node that was recently started or suffered a network partition may indicate that a validator is not live when it actually is. - [Get node network identity](https://docs.tatum.io/reference/rpc-ethereum-getnetworkidentity.md): Retrieves data about the node's network presence - [Get the withdrawals that are to be included for the block built on the specified state.](https://docs.tatum.io/reference/rpc-ethereum-getnextwithdrawals.md): Get the withdrawals computed from the specified state, that will be included in the block that gets built on the specified state. - [Get version string of the running beacon node.](https://docs.tatum.io/reference/rpc-ethereum-getnodeversion.md): Requests that the beacon node identify information about its implementation in a format similar to a [HTTP User-Agent](https://tools.ietf.org/html/rfc7231#section-5.5.3) field. - [Get peer](https://docs.tatum.io/reference/rpc-ethereum-getpeer.md): Retrieves data about the given peer - [Get peer count](https://docs.tatum.io/reference/rpc-ethereum-getpeercount.md): Retrieves number of known peers. - [Get node network peers](https://docs.tatum.io/reference/rpc-ethereum-getpeers.md): Retrieves data about the node's network peers. By default this returns all peers. Multiple query params are combined using AND conditions - [Get State Pending Deposits](https://docs.tatum.io/reference/rpc-ethereum-getpendingdeposits.md): Returns pending deposits for state with given 'stateId'. Should return 400 if the state retrieved is prior to Electra. - [Get State Pending Partial Withdrawals](https://docs.tatum.io/reference/rpc-ethereum-getpendingpartialwithdrawals.md): Returns pending partial withdrawals for state with given 'stateId'. Should return 400 if the state retrieved is prior to Electra. - [Get Attestations from operations pool](https://docs.tatum.io/reference/rpc-ethereum-getpoolattestations.md): Retrieves attestations known by the node but not necessarily incorporated into any block - [Get attestations from operations pool](https://docs.tatum.io/reference/rpc-ethereum-getpoolattestationsv2.md): Retrieves attestations known by the node but not necessarily incorporated into any block - [Get AttesterSlashings from operations pool](https://docs.tatum.io/reference/rpc-ethereum-getpoolattesterslashings.md): Retrieves attester slashings known by the node but not necessarily incorporated into any block - [Get attester slashings from operations pool](https://docs.tatum.io/reference/rpc-ethereum-getpoolattesterslashingsv2.md): Retrieves attester slashings known by the node but not necessarily incorporated into any block - [Get SignedBLSToExecutionChange from operations pool](https://docs.tatum.io/reference/rpc-ethereum-getpoolblstoexecutionchanges.md): Retrieves BLS to execution changes known by the node but not necessarily incorporated into any block - [Get ProposerSlashings from operations pool](https://docs.tatum.io/reference/rpc-ethereum-getpoolproposerslashings.md): Retrieves proposer slashings known by the node but not necessarily incorporated into any block - [Get SignedVoluntaryExit from operations pool](https://docs.tatum.io/reference/rpc-ethereum-getpoolvoluntaryexits.md): Retrieves voluntary exits known by the node but not necessarily incorporated into any block - [Get block proposers duties](https://docs.tatum.io/reference/rpc-ethereum-getproposerduties.md): Request beacon node to provide all validators that are scheduled to propose a block in the given epoch. Duties should only need to be checked once per epoch, however a chain reorganization could occur that results in a change of duties. For full safety, you should monitor head events and confirm the dependent root in this response matches: - event.current_duty_dependent_root when `compute_epoch_at_slot(event.slot) == epoch` - event.block otherwise The dependent_root value is `get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch) - 1)` or the genesis block root in the case of underflow. - [Get spec params.](https://docs.tatum.io/reference/rpc-ethereum-getspec.md): Retrieve specification configuration used on this node. The configuration should include: - Constants for all hard forks known by the beacon node, for example the [phase 0](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/phase0/beacon-chain.md#constants) and [altair](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/altair/beacon-chain.md#constants) values - Presets for all hard forks supplied to the beacon node, for example the [phase 0](https://github.com/ethereum/consensus-specs/blob/v1.3.0/presets/mainnet/phase0.yaml) and [altair](https://github.com/ethereum/consensus-specs/blob/v1.3.0/presets/mainnet/altair.yaml) values - Configuration for the beacon node, for example the [mainnet](https://github.com/ethereum/consensus-specs/blob/v1.3.0/configs/mainnet.yaml) values Values are returned with following format: - any value starting with 0x in the spec is returned as a hex string - numeric values are returned as a quoted integer - [Get state finality checkpoints](https://docs.tatum.io/reference/rpc-ethereum-getstatefinalitycheckpoints.md): Returns finality checkpoints for state with given 'stateId'. In case finality is not yet achieved, checkpoint should return epoch 0 and ZERO_HASH as root. - [Get Fork object for requested state](https://docs.tatum.io/reference/rpc-ethereum-getstatefork.md): Returns [Fork](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/phase0/beacon-chain.md#fork) object for state with given 'stateId'. - [Get the RANDAO mix for some epoch in a specified state.](https://docs.tatum.io/reference/rpc-ethereum-getstaterandao.md): Fetch the RANDAO mix for the requested epoch from the state identified by `state_id`. If an epoch is not specified then the RANDAO mix for the state's current epoch will be returned. By adjusting the `state_id` parameter you can query for any historic value of the RANDAO mix. Ordinarily states from the same epoch will mutate the RANDAO mix for that epoch as blocks are applied. - [Get state SSZ HashTreeRoot](https://docs.tatum.io/reference/rpc-ethereum-getstateroot.md): Calculates HashTreeRoot for state with given 'stateId'. If stateId is root, same value will be returned. - [Get full BeaconState object](https://docs.tatum.io/reference/rpc-ethereum-getstatev2.md): Returns full BeaconState object for given stateId. Depending on `Accept` header it can be returned either as json or as bytes serialized by SSZ - [Get validator from state by id](https://docs.tatum.io/reference/rpc-ethereum-getstatevalidator.md): Returns validator specified by state and id or public key along with status and balance. - [Get validator balances from state](https://docs.tatum.io/reference/rpc-ethereum-getstatevalidatorbalances.md): Returns filterable list of validators balances. Balances will be returned for all indices or public key that match known validators. If an index or public key does not match any known validator, no balance will be returned but this will not cause an error. There are no guarantees for the returned data in terms of ordering; the index is returned for each balance, and can be used to confirm for which inputs a response has been returned. - [Get validators from state](https://docs.tatum.io/reference/rpc-ethereum-getstatevalidators.md): Returns filterable list of validators with their balance, status and index. Information will be returned for all indices or public key that match known validators. If an index or public key does not match any known validator, no information will be returned but this will not cause an error. There are no guarantees for the returned data in terms of ordering; both the index and public key are returned for each validator, and can be used to confirm for which inputs a response has been returned. - [Get sync committee duties](https://docs.tatum.io/reference/rpc-ethereum-getsynccommitteeduties.md): Requests the beacon node to provide a set of sync committee duties for a particular epoch. - [Get sync committee rewards](https://docs.tatum.io/reference/rpc-ethereum-getsynccommitteerewards.md): Retrieves rewards info for sync committee members specified by array of public keys or validator index. If no array is provided, return reward info for every committee member. - [Get node syncing status](https://docs.tatum.io/reference/rpc-ethereum-getsyncingstatus.md): Requests the beacon node to describe if it's currently syncing or not, and if it is, what block it is up to. - [Get validator balances from state](https://docs.tatum.io/reference/rpc-ethereum-poststatevalidatorbalances.md): Returns filterable list of validators balances. Balances will be returned for all indices or public keys that match known validators. If an index or public key does not match any known validator, no balance will be returned but this will not cause an error. There are no guarantees for the returned data in terms of ordering; the index is returned for each balance, and can be used to confirm for which inputs a response has been returned. - [Get validator identities from state](https://docs.tatum.io/reference/rpc-ethereum-poststatevalidatoridentities.md): Returns filterable list of validators identities. Identities will be returned for all indices or public keys that match known validators. If an index or public key does not match any known validator, no identity will be returned but this will not cause an error. There are no guarantees for the returned data in terms of ordering. Depending on `Accept` header data can be returned either as JSON or as bytes serialized by SSZ. - [Get validators from state](https://docs.tatum.io/reference/rpc-ethereum-poststatevalidators.md): Returns filterable list of validators with their balance, status and index. Information will be returned for all indices or public key that match known validators. If an index or public key does not match any known validator, no information will be returned but this will not cause an error. There are no guarantees for the returned data in terms of ordering; both the index and public key are returned for each validator, and can be used to confirm for which inputs a response has been returned. The POST variant of this endpoint has the same semantics as the GET endpoint but passes the lists of IDs and statuses via a POST body in order to enable larger requests. - [Signal beacon node to prepare for a committee subnet](https://docs.tatum.io/reference/rpc-ethereum-preparebeaconcommitteesubnet.md): After beacon node receives this request, search using discv5 for peers related to this subnet and replace current peers with those ones if necessary If validator `is_aggregator`, beacon node must: - announce subnet topic subscription on gossipsub - aggregate attestations received on that subnet - [Provide beacon node with proposals for the given validators.](https://docs.tatum.io/reference/rpc-ethereum-preparebeaconproposer.md): Prepares the beacon node for potential proposers by supplying information required when proposing blocks for the given validators. The information supplied for each validator index will persist through the epoch in which the call is submitted and for a further two epochs after that, or until the beacon node restarts. It is expected that validator clients will send this information periodically, for example each epoch, to ensure beacon nodes have correct and timely fee recipient information. Note that there is no guarantee that the beacon node will use the supplied fee recipient when creating a block proposal, so on receipt of a proposed block the validator should confirm that it finds the fee recipient within the block acceptable before signing it. Also note that requests containing currently inactive or unknown validator indices will be accepted, as they may become active at a later epoch. - [Subscribe to sync committee subnets](https://docs.tatum.io/reference/rpc-ethereum-preparesynccommitteesubnets.md): Subscribe to a number of sync committee subnets Sync committees are not present in phase0, but are required for Altair networks. Subscribing to sync committee subnets is an action performed by VC to enable network participation in Altair networks, and only required if the VC has an active validator in an active sync committee. - [Produce an attestation data](https://docs.tatum.io/reference/rpc-ethereum-produceattestationdata.md): Requests that the beacon node produce an AttestationData. A 503 error must be returned if the block identified by the response `beacon_block_root` is optimistic (i.e. the attestation attests to a block that has not been fully verified by an execution engine). - [Produce a new block, without signature.](https://docs.tatum.io/reference/rpc-ethereum-produceblockv3.md): Requests a beacon node to produce a valid block, which can then be signed by a validator. The returned block may be blinded or unblinded, depending on the current state of the network as decided by the execution and beacon nodes. The beacon node must return an unblinded block if it obtains the execution payload from its paired execution node. It must only return a blinded block if it obtains the execution payload header from an MEV relay. Metadata in the response indicates the type of block produced, and the supported types of block will be added to as forks progress. - [Produce a sync committee contribution](https://docs.tatum.io/reference/rpc-ethereum-producesynccommitteecontribution.md): Requests that the beacon node produce a sync committee contribution. A 503 error must be returned if the block identified by the response `beacon_block_root` is optimistic (i.e. the sync committee contribution refers to a block that has not been fully verified by an execution engine). A 404 error must be returned if no sync committee contribution is available for the requested `beacon_block_root`. - [Publish multiple aggregate and proofs](https://docs.tatum.io/reference/rpc-ethereum-publishaggregateandproofs.md): Verifies given aggregate and proofs and publishes them on appropriate gossipsub topic. - [Publish multiple aggregate and proofs](https://docs.tatum.io/reference/rpc-ethereum-publishaggregateandproofsv2.md): Verifies given aggregate and proofs and publishes them on appropriate gossipsub topic. - [Publish a signed block.](https://docs.tatum.io/reference/rpc-ethereum-publishblindedblock.md): Instructs the beacon node to use the components of the `SignedBlindedBeaconBlock` to construct and publish a `SignedBeaconBlock` by swapping out the `transactions_root` for the corresponding full list of `transactions`. The beacon node should broadcast a newly constructed `SignedBeaconBlock` to the beacon network, to be included in the beacon chain. The beacon node is not required to validate the signed `BeaconBlock`, and a successful response (20X) only indicates that the broadcast has been successful. The beacon node is expected to integrate the new block into its state, and therefore validate the block internally, however blocks which fail the validation are still broadcast but a different status code is returned (202). Before Bellatrix, this endpoint will accept a `SignedBeaconBlock`. - [Publish a signed block.](https://docs.tatum.io/reference/rpc-ethereum-publishblindedblockv2.md): Instructs the beacon node to use the components of the `SignedBlindedBeaconBlock` to construct and publish a `SignedBeaconBlock` by swapping out the `transactions_root` for the corresponding full list of `transactions`. The beacon node should broadcast a newly constructed `SignedBeaconBlock` to the beacon network, to be included in the beacon chain. The beacon node is not required to validate the signed `BeaconBlock`, and a successful response (20X) only indicates that the broadcast has been successful. The beacon node is expected to integrate the new block into its state, and therefore validate the block internally, however blocks which fail the validation are still broadcast but a different status code is returned (202). Before Bellatrix, this endpoint will accept a `SignedBeaconBlock`. The broadcast behaviour may be adjusted via the `broadcast_validation` query parameter. - [Publish a signed block.](https://docs.tatum.io/reference/rpc-ethereum-publishblock.md): Instructs the beacon node to broadcast a newly signed beacon block to the beacon network, to be included in the beacon chain. A success response (20x) indicates that the block passed gossip validation and was successfully broadcast onto the network. The beacon node is also expected to integrate the block into state, but may broadcast it before doing so, so as to aid timely delivery of the block. Should the block fail full validation, a separate success response code (202) is used to indicate that the block was successfully broadcast but failed integration. After Deneb, this additionally instructs the beacon node to broadcast all given blobs. - [Publish a signed block.](https://docs.tatum.io/reference/rpc-ethereum-publishblockv2.md): Instructs the beacon node to broadcast a newly signed beacon block to the beacon network, to be included in the beacon chain. A success response (20x) indicates that the block passed gossip validation and was successfully broadcast onto the network. The beacon node is also expected to integrate the block into the state, but may broadcast it before doing so, so as to aid timely delivery of the block. Should the block fail full validation, a separate success response code (202) is used to indicate that the block was successfully broadcast but failed integration. After Deneb, this additionally instructs the beacon node to broadcast all given blobs. The broadcast behaviour may be adjusted via the `broadcast_validation` query parameter. - [Publish multiple contribution and proofs](https://docs.tatum.io/reference/rpc-ethereum-publishcontributionandproofs.md): Publish multiple signed sync committee contribution and proofs - [Provide beacon node with registrations for the given validators to the external builder network.](https://docs.tatum.io/reference/rpc-ethereum-registervalidator.md): Prepares the beacon node for engaging with external builders. The information must be sent by the beacon node to the builder network. It is expected that the validator client will send this information periodically to ensure the beacon node has correct and timely registration information to provide to builders. Note that only registrations for active or pending validators must be sent to the builder network. Registrations for unknown or exited validators must be filtered out and not sent to the builder network. - [Determine if a distributed validator has been selected to aggregate attestations](https://docs.tatum.io/reference/rpc-ethereum-submitbeaconcommitteeselections.md): This endpoint should be used by a validator client running as part of a distributed validator cluster, and is implemented by a distributed validator middleware client. This endpoint is used to exchange partial selection proofs for combined/aggregated selection proofs to allow a validator client to correctly determine if any of its validators has been selected to perform an attestation aggregation duty in a slot. Validator clients running in a distributed validator cluster must query this endpoint at the start of an epoch for the current and lookahead (next) epochs for all validators that have attester duties in the current and lookahead epochs. Consensus clients need not support this endpoint and may return a 501. - [Submit Attestation objects to node](https://docs.tatum.io/reference/rpc-ethereum-submitpoolattestations.md): Submits Attestation objects to the node. Each attestation in the request body is processed individually. If an attestation is validated successfully the node MUST publish that attestation on the appropriate subnet. If one or more attestations fail validation the node MUST return a 400 error with details of which attestations have failed, and why. - [Submit Attestation objects to node](https://docs.tatum.io/reference/rpc-ethereum-submitpoolattestationsv2.md): Submits attestations to the node. Each attestation in the request body is processed individually. If an attestation is validated successfully, the node MUST publish that attestation on the appropriate subnet. If one or more attestations fail validation, the node MUST return a 400 error with details of which attestations have failed, and why. Prior to the Electra hard fork, this endpoint MUST be sent Attestation objects only. At and after the Electra hard fork, this endpoint MUST be sent SingleAttestation objects only. - [Submit AttesterSlashing object to node's pool](https://docs.tatum.io/reference/rpc-ethereum-submitpoolattesterslashings.md): Submits AttesterSlashing object to node's pool and if passes validation node MUST broadcast it to network. - [Submit AttesterSlashing object to node's pool](https://docs.tatum.io/reference/rpc-ethereum-submitpoolattesterslashingsv2.md): Submits AttesterSlashing object to node's pool. Upon successful validation the node MUST broadcast it to network. - [Submit SignedBLSToExecutionChange object to node's pool](https://docs.tatum.io/reference/rpc-ethereum-submitpoolblstoexecutionchange.md): Submits a list of SignedBLSToExecutionChange objects to node's pool. Any that pass validation MUST be broadcast to the network. - [Submit ProposerSlashing object to node's pool](https://docs.tatum.io/reference/rpc-ethereum-submitpoolproposerslashings.md): Submits ProposerSlashing object to node's pool and if passes validation node MUST broadcast it to network. - [Submit sync committee signatures to node](https://docs.tatum.io/reference/rpc-ethereum-submitpoolsynccommitteesignatures.md): Submits sync committee signature objects to the node. Sync committee signatures are not present in phase0, but are required for Altair networks. If a sync committee signature is validated successfully the node MUST publish that sync committee signature on all applicable subnets. If one or more sync committee signatures fail validation the node MUST return a 400 error with details of which sync committee signatures have failed, and why. - [Submit SignedVoluntaryExit object to node's pool](https://docs.tatum.io/reference/rpc-ethereum-submitpoolvoluntaryexit.md): Submits SignedVoluntaryExit object to node's pool and if passes validation node MUST broadcast it to network. - [Determine if a distributed validator has been selected to make a sync committee contribution](https://docs.tatum.io/reference/rpc-ethereum-submitsynccommitteeselections.md): Submit sync committee selections to a DVT middleware client. It returns the threshold aggregated sync committee selection. This endpoint should be used by a validator client running as part of a distributed validator cluster, and is implemented by a distributed validator middleware client. This endpoint is used to exchange partial selection proofs (slot signatures) for combined/aggregated selection proofs to allow a validator client to correctly determine if any of its validators has been selected to perform a sync committee contribution (sync aggregation) duty in a slot. Validator clients running in a distributed validator cluster must query this endpoint at the start of each slot for all validators that are included in the current sync committee. Consensus clients need not support this endpoint and may return a 501. - [Invoke a method in a smart contract on Ethereum](https://docs.tatum.io/reference/ethblockchainsmartcontractinvocation.md):

    /v3/ethereum/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on Ethereum.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    If caller field is present instead of the private key, Tatum will sign the transaction with the managed private key connected to the caller address. This is applicable only for paid mainnet plans and all testnet plans. Keep in mind that the caller address must have enough access right to perform the action in the smart contract method.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send ETH or fungible tokens (ERC-20) from account to account](https://docs.tatum.io/reference/ethblockchaintransfer.md):

    /v3/ethereum/transaction

    2 credits per API call

    Send ETH or Tatum-supported fungible tokens (ERC-20) from account to account.

    NOTE: Sending the fungible tokens is supported only on the mainnet.

    Signing a transaction
    When sending ETH, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Broadcast signed Ethereum transaction](https://docs.tatum.io/reference/ethbroadcast.md):

    /v3/ethereum/broadcast

    2 credits per API call

    Broadcast signed transaction to Ethereum blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate Ethereum account address from Extended public key](https://docs.tatum.io/reference/ethgenerateaddress.md):

    /v3/ethereum/address/{xpub}/{index}

    1 credit per API call.


    Generates an Ethereum account deposit address from an Extended public key. The deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate Ethereum private key](https://docs.tatum.io/reference/ethgenerateaddressprivatekey.md):

    /v3/ethereum/wallet/priv

    1 credit per API call.


    Generates the private key of an address from a mnemonic for a given derivation path index. The private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Ethereum wallet](https://docs.tatum.io/reference/ethgeneratewallet.md):

    /v3/ethereum/wallet

    1 credit per API call.


    Tatum supports BIP44 HD wallets. Because they can generate 2^31 addresses from 1 mnemonic phrase, they are very convenient and secure. A mnemonic phrase consists of 24 special words in a defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows the BIP44 specification and generates for Ethereum wallets with the derivation path m/44'/60'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generates a BIP44 compatible Ethereum wallet.

    - [Get the ETH balance of an Ethereum account](https://docs.tatum.io/reference/ethgetbalance.md):

    ⚠️ Deprecated: Get Balance


    GET /v3/ethereum/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Fetch the balance of a blockchain address, including native and fungible tokens.


    Explore Docs →

    /v3/ethereum/account/balance/{address}

    1 credit per API call

    Get the balance of ETH of an Ethereum account.

    To get the balance of tokens, use the APIs for getting the balance of fungible tokens (ERC-20) and NFTs (ERC-721).

    - [Get Ethereum block by hash](https://docs.tatum.io/reference/ethgetblock.md):

    ⚠️ Deprecated: Get Block


    GET /v3/ethereum/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch a specific block from the blockchain by providing the block hash or block number.


    Explore Docs →

    /v3/ethereum/block/{hash}

    1 credit per API call.


    Gets an Ethereum block-by-block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/ethgetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block


    GET /v3/ethereum/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Fetch the current block in the blockchain. This endpoint returns the latest block number available.


    Explore Docs →

    /v3/ethereum/block/current

    1 credit per API call.


    Gets the current Ethereum block number. This is the number of the latest block in the blockchain.

    - [Get Ethereum internal transactions by address](https://docs.tatum.io/reference/ethgetinternaltransactionbyaddress.md):

    ⚠️ Deprecated: Get Internal Transactions By Address


    GET /v3/ethereum/account/transaction/internal/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/internal

    Fetch internal transactions for a blockchain address.


    Explore Docs →

    /v3/ethereum/account/transaction/internal/{address}

    1 credit per API call.


    Get Ethereum internal transactions by address.

    - [Get Ethereum Transaction](https://docs.tatum.io/reference/ethgettransaction.md):

    ⚠️ Deprecated: Get Transaction


    GET /v3/ethereum/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch a specific transaction from the blockchain by providing the transaction hash.


    Explore Docs →

    /v3/ethereum/transaction/{hash}

    1 credit per API call

    Get Ethereum transaction by transaction hash.

    - [Get Ethereum transactions by address](https://docs.tatum.io/reference/ethgettransactionbyaddress.md):

    ⚠️ Deprecated: Get Transactions By Address


    GET /v3/ethereum/account/transaction/{address} is deprecated.

    Use GET /v4/data/transaction/history

    Fetch transaction history for a blockchain address.


    Explore Docs →

    /v3/ethereum/account/transaction/{address}

    This endpoint is deprecated. Do not use it.

    20 credit per API call.

    Get Ethereum transactions by address. This includes incoming and outgoing transactions for the address.

    - [Get count of outgoing Ethereum transactions](https://docs.tatum.io/reference/ethgettransactioncount.md):

    ⚠️ Deprecated: Get Transaction Count


    GET /v3/ethereum/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Fetch the count of transactions for a blockchain address.


    Explore Docs →

    /v3/ethereum/transaction/count/{address}

    1 credit per API call.


    Get a number of outgoing Ethereum transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/ethweb3driver.md):

    /v3/ethereum/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based web3 driver to connect directly to the Ethereum node provided by Tatum. To learn more about Ethereum Web3, visit the Ethereum developers' guide.

    - [Ethereum](https://docs.tatum.io/reference/rpc-ethereum.md): Explore Ethereum, the decentralized blockchain platform with RPC gateway and comprehensive documentation. Powering smart contracts, dApps, DeFi, and NFTs. - [debug_getRawBlock - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-debug_getrawblock.md): Returns an RLP-encoded block. - [debug_getRawHeader - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-debug_getrawheader.md): Returns an RLP-encoded header. - [debug_getRawReceipts - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-debug_getrawreceipts.md): Returns an array of EIP-2718 binary-encoded receipts. - [debug_storageRangeAt - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-debug_storagerangeat.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_storageRangeAt** is an RPC method that allows you to retrieve the contract storage range for a given block and address. This can be useful for developers and auditors who want to inspect the storage state of a specific contract at a particular point in time. This method can also help in debugging and identifying potential issues with contract storage, as well as understanding how storage evolves as transactions are executed. - [debug_traceBlockByHash - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-debug_traceblockbyhash.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceBlockByHash** method allows developers to trace the execution of transactions within a block specified by its hash. This method is particularly useful for debugging purposes, as it provides detailed information about the execution of each transaction within the block, including the type of call, the addresses involved, the value transferred, the gas used, the input data, the output data, and any sub-calls made during the transaction. - [debug_traceBlockByNumber - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-debug_traceblockbynumber.md): Replays the block that is already present in the database. - [debug_traceCall - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-debug_tracecall.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceCall** is an Ethereum RPC method that allows you to execute a given call (message), tracing the steps of its execution. This can be helpful for developers and auditors who want to inspect and analyze the internal operations and state changes of a contract call without modifying the blockchain state. This method can assist in debugging and identifying potential issues with contract execution, as well as understanding how gas is consumed during the execution of a call. - [debug_traceTransaction - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-debug_tracetransaction.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceTransaction** RPC method is utilized to trace the execution of a transaction on the Ethereum blockchain. This method is highly beneficial for debugging purposes, as it furnishes comprehensive details regarding the transaction's execution. These details include the type of call, the involved addresses, the transferred value, the gas consumption, the input and output data, any encountered errors, and reasons for reverts if applicable. Moreover, it can enumerate sub-calls made during the transaction's execution. - [eth_accounts - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_accounts.md): Returns a list of addresses owned by client. Since Alchemy does not store keys, this will always return empty. - [eth_blockNumber - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_blocknumber.md): The **eth_blockNumber** method is part of the Ethereum JSON-RPC API, which is used to interact with the Ethereum blockchain. This method is particularly useful for various use cases within the blockchain ecosystem, including but not limited to: Monitoring Blockchain Health: By regularly checking the latest block number, developers can monitor the health and activity of the Ethereum blockchain. This can be crucial for applications that rely on the blockchain for their operations, as it helps in identifying any potential issues or delays in block production. Synchronization Checks: For applications that interact with the Ethereum blockchain, knowing the latest block number can be essential for synchronization purposes. It helps in ensuring that the application's data is up-to-date with the blockchain's state. Transaction Verification: When submitting transactions to the blockchain, knowing the current block number can be useful for setting appropriate gas prices and for verifying transaction confirmations. - [eth_call - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_call.md): The **eth_call** method in Ethereum's JSON-RPC API is used to execute a new message call immediately without creating a transaction on the blockchain. This method is particularly useful for testing and debugging smart contracts, as it allows developers to simulate the execution of contract methods without actually sending transactions to the network. This can help in identifying issues or understanding the behavior of contracts without incurring any gas costs or affecting the blockchain state. Please check the common use cases: Testing Smart Contracts: Before deploying a smart contract, developers can use eth_call to test its functionality and ensure it behaves as expected. Debugging: It can be used to debug smart contracts by simulating transactions and observing the state changes or return values without affecting the live contract. Estimating Gas Costs: Although eth_call does not actually send a transaction, it can be used to estimate the gas costs of a transaction by simulating its execution. - [eth_chainId - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_chainid.md): The **eth_chainId** method is part of the Ethereum JSON-RPC API, specifically designed to return the current network or chain ID. This method is crucial for ensuring the uniqueness of transactions across different Ethereum networks, as it helps in preventing replay attacks by distinguishing between transactions intended for different networks. The chain ID was introduced as part of EIP-155 to address the issue of transaction replay attacks across different Ethereum networks. - [eth_createAccessList - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_createaccesslist.md): Ethereum API - Creates an EIP2930 type `accessList` based on a given Transaction object. Returns list of addresses and storage keys that are read and written by the transaction (except the sender account and precompiles), plus the estimated gas consumed when the access list is added. - [eth_estimateGas - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_estimategas.md): The **eth_estimateGas** method in Ethereum's JSON-RPC API is used to estimate the amount of gas that would be required to execute a transaction without actually sending it. This method is particularly useful for determining the appropriate gas limit for a transaction before it is submitted to the network, helping to avoid out-of-gas errors and ensuring that transactions are processed efficiently. - [eth_feeHistory - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_feehistory.md): The **eth_feeHistory** retrieves historical gas fee data, providing insights into gas price trends and block utilization over time. This method is valuable for estimating transaction fees and understanding network congestion. - [eth_gasPrice - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_gasprice.md): The **eth_gasPrice** method is part of the Ethereum JSON-RPC API, which is used to interact with the Ethereum blockchain. This method specifically returns the current gas price on the Ethereum network in wei. Wei is the smallest denomination of ether, the cryptocurrency used on the Ethereum network. The gas price is a critical parameter for transactions on the Ethereum network, as it determines how much a transaction is willing to pay per unit of gas, which is a measure of computational effort. - [eth_getBalance - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getbalance.md): The **eth_getBalance** method is an Ethereum JSON-RPC method that allows you to retrieve the Ether balance of a specified address. This method can be used to query the balance of any Ethereum address, whether it is a contract or an externally owned account (EOA). A common use case for this method is to display the current balance of a user's account in a wallet application or a decentralised application (DApp). - [eth_getBlockByHash - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getblockbyhash.md): The **eth_getBlockByHash** is an Ethereum JSON-RPC method that allows developers to query a specific block in the Ethereum blockchain by its block hash. This method can be used in various scenarios, such as analysing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockByNumber - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getblockbynumber.md): The **eth_getBlockByNumber** is an Ethereum JSON-RPC method that allows developers to query a specific block in the Ethereum blockchain by its block number. This method can be used in various scenarios, such as analyzing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockReceipts - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getblockreceipts.md): The **eth_getBlockReceipts** RPC method is a powerful tool for retrieving the receipts of all transactions included in a block, along with the block header. This method is particularly useful for applications that require detailed information about transactions, such as event logs, gas usage, and the status of transactions. It is supported on nodes running the Erigon client. - [eth_getBlockTransactionCountByHash - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getblocktransactioncountbyhash.md): The **eth_getBlockTransactionCountByHash** is an Ethereum RPC method used to fetch the number of transactions in a block by the block's hash. It is useful when you want to know the total number of transactions included in a specific block and don't want to retrieve the entire block data. This method can be used in various scenarios, such as monitoring the network activity or estimating transaction confirmation times. - [eth_getBlockTransactionCountByNumber - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getblocktransactioncountbynumber.md): The **eth_getBlockTransactionCountByNumber** Ethereum JSON-RPC method allows you to retrieve the number of transactions in a specified block. This method is particularly useful when you need to analyze the transaction activity of a specific block. You can use it to gain insights into network usage, analyze the impact of specific events on the Ethereum network, or monitor transaction congestion in certain blocks. - [eth_getCode - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getcode.md): The **eth_getCode** method is part of the Ethereum JSON-RPC API and is used to retrieve the contract code (bytecode) of an account at a specific block number. This method is particularly useful for developers who need to examine the bytecode of a deployed contract, verify the integrity of a deployed contract, analyze contract bytecode for security vulnerabilities, or debug a smart contract. - [eth_getFilterChanges - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getfilterchanges.md): Polling method for a filter, which returns an array of logs which occurred since last poll. - [eth_getFilterLogs - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getfilterlogs.md): Returns an array of all logs matching filter with given id. Can compute the same results with an eth_getLogs call. - [eth_getLogs - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getlogs.md): The eth_getLogs method is an Ethereum JSON-RPC method that allows developers to query logs generated by the Ethereum network, specifically event logs emitted by smart contracts. These logs are an essential part of the Ethereum ecosystem as they provide a way for developers to monitor contract events and track contract state changes. This method is particularly useful when building decentralized applications (dApps) that rely on events emitted by smart contracts, as it enables developers to retrieve logs based on specific filter criteria. By using eth_getLogs, developers can efficiently track and react to events happening on the Ethereum blockchain. - [eth_getProof - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getproof.md): The **eth_getProof** is an Ethereum JSON-RPC method that retrieves the Merkle-Patricia proof for an account, storage key-value pairs, and account transaction count. It allows developers to verify the state of an account or storage value at a specific block without needing the entire Ethereum state trie. This method is particularly useful for light clients or off-chain applications that require proof of an account's state or specific storage values. - [eth_getStorageAt - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getstorageat.md): The **eth_getStorageAt** is an Ethereum JSON-RPC method that allows you to query the storage value of a contract at a given position. It can be used to inspect the internal state of a smart contract. This method is particularly useful for developers, auditors, and analysts who want to examine contract storage values for various purposes, such as debugging, verifying contract behavior, or analyzing data. - [eth_getTransactionByBlockHashAndIndex - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_gettransactionbyblockhashandindex.md): The **eth_getTransactionByBlockHashAndIndex** is an Ethereum JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByBlockNumberAndIndex - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_gettransactionbyblocknumberandindex.md): The eth_getTransactionByBlockHashAndIndex is an Ethereum JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByHash - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_gettransactionbyhash.md): The **eth_getTransactionByHash** is an Ethereum JSON-RPC method that allows you to query transaction details based on its hash. This method is useful when you want to retrieve information about a specific transaction, such as its sender, receiver, value, and more. Common use cases include tracking transaction status, monitoring incoming transactions, or analyzing historical transaction data. - [eth_getTransactionCount - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_gettransactioncount.md): The **eth_getTransactionCount** method is an Ethereum JSON-RPC method that retrieves the number of transactions sent from a given address. It is a useful method for developers who need to keep track of an account's nonce value to avoid transaction collisions or incorrect order of execution. The nonce value is essential for ensuring transaction uniqueness and preventing replay attacks. - [eth_getTransactionReceipt - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_gettransactionreceipt.md): The **eth_getTransactionReceipt** is an Ethereum JSON-RPC method that retrieves the transaction receipt of a given transaction hash. This method is particularly useful when you need to obtain detailed information about a transaction's execution, such as its status (success or failure), gas usage, and logs (events). Common use cases include checking the status of a transaction after it has been mined or inspecting the events emitted by a smart contract during a specific transaction. - [eth_getUncleByBlockHashAndIndex - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getunclebyblockhashandindex.md): Returns information about an uncle of a block by hash and uncle index position. - [eth_getUncleByBlockNumberAndIndex - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getunclebyblocknumberandindex.md): Returns information about an uncle of a block by number and uncle index position. - [eth_getUncleCountByBlockHash - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getunclecountbyblockhash.md): The **eth_getUncleCountByBlockHash** method is an Ethereum JSON-RPC method that returns the number of uncles in a specified block by its hash. This method can be useful for gathering information about the performance of the Ethereum network and to analyse the security of the blockchain. Uncles are blocks that are not included in the main blockchain but are still valid, and they contribute to the overall security and decentralisation of the Ethereum network. The inclusion of uncles helps prevent centralisation and ensures the mining process remains competitive. - [eth_getUncleCountByBlockNumber - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_getunclecountbyblocknumber.md): The **eth_getUncleCountByBlockNumber** is an Ethereum JSON-RPC method that allows you to fetch the number of uncles in a block based on the block number. This method can be useful when you want to retrieve the number of uncles in a block without knowing the block hash. - [eth_maxPriorityFeePerGas - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_maxpriorityfeepergas.md): The **eth_maxPriorityFeePerGas** RPC method is specifically designed to return the maximum priority fee per gas that is needed to be included in a block. This method is crucial for developers and users interacting with the Ethereum network, as it provides insights into the current gas fees required for transactions to be processed efficiently. - [eth_newBlockFilter - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_newblockfilter.md): Creates a filter in the node, to notify when a new block arrives. - [eth_newPendingTransactionFilter - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_newpendingtransactionfilter.md): Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call eth_getFilterChanges. - [eth_protocolVersion - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_protocolversion.md): Returns the current ethereum protocol version. - [eth_sendRawTransaction - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_sendrawtransaction.md): The **eth_sendRawTransaction** RPC method is used to facilitate the transmission of a signed and serialized Ethereum transaction onto the network. This approach proves invaluable when seeking complete oversight of the signing procedure, especially when employing hardware wallets, cold storage solutions, or custom signing libraries. Its versatility shines through in multiple scenarios, including Ether transfers, smart contract interactions, and contract deployments. - [eth_uninstallFilter - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-eth_uninstallfilter.md): Uninstalls a filter with given id. Should always be called when watch is no longer needed. Additionally, Filters timeout when they aren’t requested with eth_getFilterChangesfor a period of time. - [net_listening - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-net_listening.md): Returns true if client is actively listening for network connections. - [net_version - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-net_version.md): Returns the current network id. - [trace_block - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-trace_block.md): The **trace_block** is a JSON-RPC method that allows you to fetch the trace details for a given block based on the block height. This method can be useful when you need detailed trace information for a specific block. Use cases for this method may include: - Analyzing the internal operations of transactions within a block - Debugging smart contract interactions - Collecting data for in-depth blockchain analytics - [txpool_content - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-txpool_content.md): The **txpool_content** is specifically designed to return all pending and queued transactions currently in the transaction pool. It's important to note that this method is supported only on Geth, which is a popular Ethereum client. - [txpool_inspect - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-txpool_inspect.md): The **txpool_inspect** method is part of the txpool namespace in Ethereum's JSON-RPC API, which provides access to several non-standard RPC methods to inspect the contents of the transaction pool. This method is specifically tailored for developers to quickly see the transactions in the pool and identify any potential issues. It is used to list a textual summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only. - [txpool_status - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-txpool_status.md): The **txpool_status** method is part of the Ethereum JSON-RPC API, which is used to query the status of the transaction pool (mempool) on an Ethereum node. This method is particularly useful for developers and analysts who need to monitor the current state of pending and queued transactions in the Ethereum network. - [web3_clientVersion - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-web3_clientversion.md): The **web3_clientVersion** method is part of the Ethereum JSON-RPC API, specifically designed to return the current version of the Ethereum client being used. This method is particularly useful for debugging or when you need to ensure compatibility with specific client versions. - [web3_sha3 - Ethereum](https://docs.tatum.io/reference/rpc-ethereum-web3_sha3.md): Returns Keccak-256 (not the standardized SHA3-256) of the given data. - [Invoke a method in a smart contract on Fantom](https://docs.tatum.io/reference/fantomblockchainsmartcontractinvocation.md):

    /v3/fantom/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on Fantom.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    If caller field is present instead of the private key, Tatum will sign the transaction with the managed private key connected to the caller address. This is applicable only for paid mainnet plans and all testnet plans. Keep in mind that the caller address must have enough access right to perform the action in the smart contract method.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Send FTM or fungible tokens (ERC-20) from account to account](https://docs.tatum.io/reference/fantomblockchaintransfer.md):

    /v3/fantom/transaction

    2 credits per API call

    Send FTM or Tatum-supported fungible tokens (ERC-20) from account to account.

    NOTE: Sending the fungible tokens is supported only on the mainnet.

    Signing a transaction
    When sending FTM, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Broadcast signed Fantom transaction](https://docs.tatum.io/reference/fantombroadcast.md):

    /v3/fantom/broadcast

    2 credits per API call

    Broadcast signed transaction to Fantom blockchain.

    - [Generate Fantom account address from Extended public key](https://docs.tatum.io/reference/fantomgenerateaddress.md):

    /v3/fantom/address/{xpub}/{index}

    1 credit per API call.


    Generates an Fantom account deposit address from an Extended public key. The deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate Fantom private key](https://docs.tatum.io/reference/fantomgenerateaddressprivatekey.md):

    /v3/fantom/wallet/priv

    1 credit per API call.


    Generates the private key of an address from a mnemonic for a given derivation path index. The private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Fantom wallet](https://docs.tatum.io/reference/fantomgeneratewallet.md):

    /v3/fantom/wallet

    1 credit per API call.


    Tatum supports BIP44 HD wallets. Because they can generate 2^31 addresses from 1 mnemonic phrase, they are very convenient and secure. A mnemonic phrase consists of 24 special words in a defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows the BIP44 specification and generates for Fantom wallets with the derivation path m/44'/60'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generates a BIP44 compatible Fantom wallet.

    - [Get the FTM balance of an Fantom account](https://docs.tatum.io/reference/fantomgetbalance.md):

    ⚠️ Deprecated: Get Fantom Balance


    GET /v3/fantom/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get native balance for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get the balance of FTM of an Fantom account.

    To get the balance of tokens, use the APIs for getting the balance of fungible tokens (ERC-20) and NFTs (ERC-721).

    - [Get Fantom block by hash](https://docs.tatum.io/reference/fantomgetblock.md):

    ⚠️ Deprecated: Get Fantom Block


    GET /v3/fantom/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Get block by hash or height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets an Fantom block-by-block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/fantomgetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block Number


    GET /v3/fantom/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Get the current block height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets the current Fantom block number. This is the number of the latest block in the blockchain.

    - [Get Fantom Transaction](https://docs.tatum.io/reference/fantomgettransaction.md):

    ⚠️ Deprecated: Get Fantom Transaction


    GET /v3/fantom/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Get transaction by hash for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get Fantom transaction by transaction hash.

    - [Get count of outgoing Fantom transactions](https://docs.tatum.io/reference/fantomgettransactioncount.md):

    ⚠️ Deprecated: Get Fantom Transaction Count


    GET /v3/fantom/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Get outgoing transaction count for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Get a number of outgoing Fantom transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/fantomweb3driver.md):

    /v3/fantom/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based web3 driver to connect directly to the Fantom node provided by Tatum. To learn more about Fantom Web3, visit the Fantom developers' guide.

    - [Fantom](https://docs.tatum.io/reference/rpc-fantom.md): Discover Fantom, an EVM-compatible blockchain using aBFT consensus for high-speed transactions and decentralized finance applications. - [debug_storageRangeAt - Fantom](https://docs.tatum.io/reference/rpc-fantom-debug_storagerangeat.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_storageRangeAt** is an RPC method that allows you to retrieve the contract storage range for a given block and address. This can be useful for developers and auditors who want to inspect the storage state of a specific contract at a particular point in time. This method can also help in debugging and identifying potential issues with contract storage, as well as understanding how storage evolves as transactions are executed. - [debug_traceBlockByHash - Fantom](https://docs.tatum.io/reference/rpc-fantom-debug_traceblockbyhash.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceBlockByHash** method allows developers to trace the execution of transactions within a block specified by its hash. This method is particularly useful for debugging purposes, as it provides detailed information about the execution of each transaction within the block, including the type of call, the addresses involved, the value transferred, the gas used, the input data, the output data, and any sub-calls made during the transaction. - [debug_traceBlockByNumber - Fantom](https://docs.tatum.io/reference/rpc-fantom-debug_traceblockbynumber.md): Replays the block that is already present in the database. - [debug_traceCall - Fantom](https://docs.tatum.io/reference/rpc-fantom-debug_tracecall.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceCall** is an Fantom RPC method that allows you to execute a given call (message), tracing the steps of its execution. This can be helpful for developers and auditors who want to inspect and analyze the internal operations and state changes of a contract call without modifying the blockchain state. This method can assist in debugging and identifying potential issues with contract execution, as well as understanding how gas is consumed during the execution of a call. - [debug_traceTransaction - Fantom](https://docs.tatum.io/reference/rpc-fantom-debug_tracetransaction.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceTransaction** RPC method is utilized to trace the execution of a transaction on the Fantom blockchain. This method is highly beneficial for debugging purposes, as it furnishes comprehensive details regarding the transaction's execution. These details include the type of call, the involved addresses, the transferred value, the gas consumption, the input and output data, any encountered errors, and reasons for reverts if applicable. Moreover, it can enumerate sub-calls made during the transaction's execution. - [eth_blockNumber - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_blocknumber.md): The **eth_blockNumber** method is part of the Fantom JSON-RPC API, which is used to interact with the Fantom blockchain. This method is particularly useful for various use cases within the blockchain ecosystem, including but not limited to: Monitoring Blockchain Health: By regularly checking the latest block number, developers can monitor the health and activity of the Fantom blockchain. This can be crucial for applications that rely on the blockchain for their operations, as it helps in identifying any potential issues or delays in block production. Synchronization Checks: For applications that interact with the Fantom blockchain, knowing the latest block number can be essential for synchronization purposes. It helps in ensuring that the application's data is up-to-date with the blockchain's state. Transaction Verification: When submitting transactions to the blockchain, knowing the current block number can be useful for setting appropriate gas prices and for verifying transaction confirmations. - [eth_call - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_call.md): The **eth_call** method in Fantom's JSON-RPC API is used to execute a new message call immediately without creating a transaction on the blockchain. This method is particularly useful for testing and debugging smart contracts, as it allows developers to simulate the execution of contract methods without actually sending transactions to the network. This can help in identifying issues or understanding the behavior of contracts without incurring any gas costs or affecting the blockchain state. Please check the common use cases: Testing Smart Contracts: Before deploying a smart contract, developers can use eth_call to test its functionality and ensure it behaves as expected. Debugging: It can be used to debug smart contracts by simulating transactions and observing the state changes or return values without affecting the live contract. Estimating Gas Costs: Although eth_call does not actually send a transaction, it can be used to estimate the gas costs of a transaction by simulating its execution. - [eth_chainId - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_chainid.md): The **eth_chainId** method is part of the Fantom JSON-RPC API, specifically designed to return the current network or chain ID. This method is crucial for ensuring the uniqueness of transactions across different Fantom networks, as it helps in preventing replay attacks by distinguishing between transactions intended for different networks. The chain ID was introduced as part of EIP-155 to address the issue of transaction replay attacks across different Fantom networks. - [eth_estimateGas - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_estimategas.md): The **eth_estimateGas** method in Fantom's JSON-RPC API is used to estimate the amount of gas that would be required to execute a transaction without actually sending it. This method is particularly useful for determining the appropriate gas limit for a transaction before it is submitted to the network, helping to avoid out-of-gas errors and ensuring that transactions are processed efficiently. - [eth_feeHistory - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_feehistory.md): The **eth_feeHistory** retrieves historical gas fee data, providing insights into gas price trends and block utilization over time. This method is valuable for estimating transaction fees and understanding network congestion. - [eth_gasPrice - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_gasprice.md): The **eth_gasPrice** method is part of the Fantom JSON-RPC API, which is used to interact with the Fantom blockchain. This method specifically returns the current gas price on the Fantom network in wei. Wei is the smallest denomination of ether, the cryptocurrency used on the Fantom network. The gas price is a critical parameter for transactions on the Fantom network, as it determines how much a transaction is willing to pay per unit of gas, which is a measure of computational effort. - [eth_getBalance - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_getbalance.md): The **eth_getBalance** method is an Fantom JSON-RPC method that allows you to retrieve the Ether balance of a specified address. This method can be used to query the balance of any Fantom address, whether it is a contract or an externally owned account (EOA). A common use case for this method is to display the current balance of a user's account in a wallet application or a decentralised application (DApp). - [eth_getBlockByHash - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_getblockbyhash.md): The **eth_getBlockByHash** is an Fantom JSON-RPC method that allows developers to query a specific block in the Fantom blockchain by its block hash. This method can be used in various scenarios, such as analysing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockByNumber - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_getblockbynumber.md): The **eth_getBlockByNumber** is an Fantom JSON-RPC method that allows developers to query a specific block in the Fantom blockchain by its block number. This method can be used in various scenarios, such as analyzing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockTransactionCountByHash - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_getblocktransactioncountbyhash.md): The **eth_getBlockTransactionCountByHash** is an Fantom RPC method used to fetch the number of transactions in a block by the block's hash. It is useful when you want to know the total number of transactions included in a specific block and don't want to retrieve the entire block data. This method can be used in various scenarios, such as monitoring the network activity or estimating transaction confirmation times. - [eth_getBlockTransactionCountByNumber - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_getblocktransactioncountbynumber.md): The **eth_getBlockTransactionCountByNumber** Fantom JSON-RPC method allows you to retrieve the number of transactions in a specified block. This method is particularly useful when you need to analyze the transaction activity of a specific block. You can use it to gain insights into network usage, analyze the impact of specific events on the Fantom network, or monitor transaction congestion in certain blocks. - [eth_getCode - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_getcode.md): The **eth_getCode** method is part of the Fantom JSON-RPC API and is used to retrieve the contract code (bytecode) of an account at a specific block number. This method is particularly useful for developers who need to examine the bytecode of a deployed contract, verify the integrity of a deployed contract, analyze contract bytecode for security vulnerabilities, or debug a smart contract. - [eth_getLogs - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_getlogs.md): The eth_getLogs method is an Fantom JSON-RPC method that allows developers to query logs generated by the Fantom network, specifically event logs emitted by smart contracts. These logs are an essential part of the Fantom ecosystem as they provide a way for developers to monitor contract events and track contract state changes. This method is particularly useful when building decentralized applications (dApps) that rely on events emitted by smart contracts, as it enables developers to retrieve logs based on specific filter criteria. By using eth_getLogs, developers can efficiently track and react to events happening on the Fantom blockchain. - [eth_getProof - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_getproof.md): The **eth_getProof** is an Fantom JSON-RPC method that retrieves the Merkle-Patricia proof for an account, storage key-value pairs, and account transaction count. It allows developers to verify the state of an account or storage value at a specific block without needing the entire Fantom state trie. This method is particularly useful for light clients or off-chain applications that require proof of an account's state or specific storage values. - [eth_getStorageAt - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_getstorageat.md): The **eth_getStorageAt** is an Fantom JSON-RPC method that allows you to query the storage value of a contract at a given position. It can be used to inspect the internal state of a smart contract. This method is particularly useful for developers, auditors, and analysts who want to examine contract storage values for various purposes, such as debugging, verifying contract behavior, or analyzing data. - [eth_getTransactionByBlockHashAndIndex - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_gettransactionbyblockhashandindex.md): The **eth_getTransactionByBlockHashAndIndex** is an Fantom JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByBlockNumberAndIndex - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_gettransactionbyblocknumberandindex.md): The eth_getTransactionByBlockHashAndIndex is an Fantom JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByHash - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_gettransactionbyhash.md): The **eth_getTransactionByHash** is an Fantom JSON-RPC method that allows you to query transaction details based on its hash. This method is useful when you want to retrieve information about a specific transaction, such as its sender, receiver, value, and more. Common use cases include tracking transaction status, monitoring incoming transactions, or analyzing historical transaction data. - [eth_getTransactionCount - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_gettransactioncount.md): The **eth_getTransactionCount** method is an Fantom JSON-RPC method that retrieves the number of transactions sent from a given address. It is a useful method for developers who need to keep track of an account's nonce value to avoid transaction collisions or incorrect order of execution. The nonce value is essential for ensuring transaction uniqueness and preventing replay attacks. - [eth_getTransactionReceipt - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_gettransactionreceipt.md): The **eth_getTransactionReceipt** is an Fantom JSON-RPC method that retrieves the transaction receipt of a given transaction hash. This method is particularly useful when you need to obtain detailed information about a transaction's execution, such as its status (success or failure), gas usage, and logs (events). Common use cases include checking the status of a transaction after it has been mined or inspecting the events emitted by a smart contract during a specific transaction. - [eth_getUncleCountByBlockHash - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_getunclecountbyblockhash.md): The **eth_getUncleCountByBlockHash** method is an Fantom JSON-RPC method that returns the number of uncles in a specified block by its hash. This method can be useful for gathering information about the performance of the Fantom network and to analyse the security of the blockchain. Uncles are blocks that are not included in the main blockchain but are still valid, and they contribute to the overall security and decentralisation of the Fantom network. The inclusion of uncles helps prevent centralisation and ensures the mining process remains competitive. - [eth_getUncleCountByBlockNumber - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_getunclecountbyblocknumber.md): The **eth_getUncleCountByBlockNumber** is an Fantom JSON-RPC method that allows you to fetch the number of uncles in a block based on the block number. This method can be useful when you want to retrieve the number of uncles in a block without knowing the block hash. - [eth_maxPriorityFeePerGas - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_maxpriorityfeepergas.md): The **eth_maxPriorityFeePerGas** RPC method is specifically designed to return the maximum priority fee per gas that is needed to be included in a block. This method is crucial for developers and users interacting with the Fantom network, as it provides insights into the current gas fees required for transactions to be processed efficiently. - [eth_sendRawTransaction - Fantom](https://docs.tatum.io/reference/rpc-fantom-eth_sendrawtransaction.md): The **eth_sendRawTransaction** RPC method is used to facilitate the transmission of a signed and serialized Fantom transaction onto the network. This approach proves invaluable when seeking complete oversight of the signing procedure, especially when employing hardware wallets, cold storage solutions, or custom signing libraries. Its versatility shines through in multiple scenarios, including Ether transfers, smart contract interactions, and contract deployments. - [web3_clientVersion - Fantom](https://docs.tatum.io/reference/rpc-fantom-web3_clientversion.md): The **web3_clientVersion** method is part of the Fantom JSON-RPC API, specifically designed to return the current version of the Fantom client being used. This method is particularly useful for debugging or when you need to ensure compatibility with specific client versions. - [Invoke a method in a smart contract on Flare](https://docs.tatum.io/reference/flareblockchainsmartcontractinvocation.md):

    /v3/flare/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on Flare.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    If caller field is present instead of the private key, Tatum will sign the transaction with the managed private key connected to the caller address. This is applicable only for paid mainnet plans and all testnet plans. Keep in mind that the caller address must have enough access right to perform the action in the smart contract method.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Send FLR or fungible tokens (ERC-20) from account to account](https://docs.tatum.io/reference/flareblockchaintransfer.md):

    /v3/flare/transaction

    2 credits per API call

    Send FLR or Tatum-supported fungible tokens (ERC-20) from account to account.

    NOTE: Sending the fungible tokens is supported only on the mainnet.

    Signing a transaction
    When sending FLR, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Broadcast signed Flare transaction](https://docs.tatum.io/reference/flarebroadcast.md):

    /v3/flare/broadcast

    2 credits per API call

    Broadcast signed transaction to Flare blockchain.

    - [Generate Flare account address from Extended public key](https://docs.tatum.io/reference/flaregenerateaddress.md):

    /v3/flare/address/{xpub}/{index}

    1 credit per API call.


    Generates an Flare account deposit address from an Extended public key. The deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate Flare private key](https://docs.tatum.io/reference/flaregenerateaddressprivatekey.md):

    /v3/flare/wallet/priv

    1 credit per API call.


    Generates the private key of an address from a mnemonic for a given derivation path index. The private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Flare wallet](https://docs.tatum.io/reference/flaregeneratewallet.md):

    /v3/flare/wallet

    1 credit per API call.


    Tatum supports BIP44 HD wallets. Because they can generate 2^31 addresses from 1 mnemonic phrase, they are very convenient and secure. A mnemonic phrase consists of 24 special words in a defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows the BIP44 specification and generates for Flare wallets with the derivation path m/44'/60'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generates a BIP44 compatible Flare wallet.

    - [Get the FLR balance of an Flare account](https://docs.tatum.io/reference/flaregetbalance.md):

    ⚠️ Deprecated: Get Flare Balance


    GET /v3/flare/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get native balance for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get the balance of FLR of an Flare account.

    To get the balance of tokens, use the APIs for getting the balance of fungible tokens (ERC-20) and NFTs (ERC-721).

    - [Get Flare block by hash](https://docs.tatum.io/reference/flaregetblock.md):

    ⚠️ Deprecated: Get Flare Block


    GET /v3/flare/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Get block by hash or height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets an Flare block-by-block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/flaregetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block Number


    GET /v3/flare/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Get the current block height for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Gets the current Flare block number. This is the number of the latest block in the blockchain.

    - [Get Flare Transaction](https://docs.tatum.io/reference/flaregettransaction.md):

    ⚠️ Deprecated: Get Flare Transaction


    GET /v3/flare/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Get transaction by hash for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get Flare transaction by transaction hash.

    - [Get count of outgoing Flare transactions](https://docs.tatum.io/reference/flaregettransactioncount.md):

    ⚠️ Deprecated: Get Flare Transaction Count


    GET /v3/flare/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Get outgoing transaction count for any supported blockchain.


    Explore Docs →

    1 credit per API call.


    Get a number of outgoing Flare transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/flareweb3driver.md):

    /v3/flare/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based web3 driver to connect directly to the Flare node provided by Tatum. To learn more about Flare Web3, visit the Flare developers' guide.

    - [Flare](https://docs.tatum.io/reference/rpc-flare.md): Discover Flare blockchain, a platform for interoperability and scalable decentralized applications. Build with RPC gateway and cross-chain functionality. - [debug_getbadblocks](https://docs.tatum.io/reference/rpc-flare-debug_getbadblocks.md): Flare RPC - [debug_storagerangeat](https://docs.tatum.io/reference/rpc-flare-debug_storagerangeat.md): Flare RPC - [debug_traceblock](https://docs.tatum.io/reference/rpc-flare-debug_traceblock.md): Flare RPC - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-flare-debug_traceblockbyhash.md): Flare RPC - [debug_traceblockbynumber](https://docs.tatum.io/reference/rpc-flare-debug_traceblockbynumber.md): Flare RPC - [debug_tracecall](https://docs.tatum.io/reference/rpc-flare-debug_tracecall.md): Flare RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-flare-debug_tracetransaction.md): Flare RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-flare-eth_blocknumber.md): Flare RPC - [eth_call](https://docs.tatum.io/reference/rpc-flare-eth_call.md): Flare RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-flare-eth_chainid.md): Flare RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-flare-eth_estimategas.md): Flare RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-flare-eth_feehistory.md): Flare RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-flare-eth_gasprice.md): Flare RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-flare-eth_getbalance.md): Flare RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-flare-eth_getblockbyhash.md): Flare RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-flare-eth_getblockbynumber.md): Flare RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-flare-eth_getblocktransactioncountbyhash.md): Flare RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-flare-eth_getblocktransactioncountbynumber.md): Flare RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-flare-eth_getcode.md): Flare RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-flare-eth_getlogs.md): Flare RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-flare-eth_getproof.md): Flare RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-flare-eth_getstorageat.md): Flare RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-flare-eth_gettransactionbyblockhashandindex.md): Flare RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-flare-eth_gettransactionbyblocknumberandindex.md): Flare RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-flare-eth_gettransactionbyhash.md): Flare RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-flare-eth_gettransactioncount.md): Flare RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-flare-eth_gettransactionreceipt.md): Flare RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-flare-eth_getunclecountbyblockhash.md): Flare RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-flare-eth_getunclecountbyblocknumber.md): Flare RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-flare-eth_maxpriorityfeepergas.md): Flare RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-flare-eth_sendrawtransaction.md): Flare RPC - [txpool_content](https://docs.tatum.io/reference/rpc-flare-txpool_content.md): Flare RPC - [txpool_inspect](https://docs.tatum.io/reference/rpc-flare-txpool_inspect.md): Flare RPC - [txpool_status](https://docs.tatum.io/reference/rpc-flare-txpool_status.md): Flare RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-flare-web3_clientversion.md): Flare RPC - [Gnosis](https://docs.tatum.io/reference/rpc-gnosis.md): Explore Gnosis blockchain, designed for decentralized prediction markets and governance. Build secure dApps using its RPC gateway and tools. - [Haqq](https://docs.tatum.io/reference/rpc-haqq.md): Explore HAQQ blockchain, designed for ethical finance and decentralized applications. Build Shariah-compliant dApps using the RPC gateway. - [eth_blocknumber](https://docs.tatum.io/reference/rpc-haqq-eth_blocknumber.md): Haqq RPC - [eth_call](https://docs.tatum.io/reference/rpc-haqq-eth_call.md): Haqq RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-haqq-eth_chainid.md): Haqq RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-haqq-eth_estimategas.md): Haqq RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-haqq-eth_feehistory.md): Haqq RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-haqq-eth_gasprice.md): Haqq RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-haqq-eth_getbalance.md): Haqq RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-haqq-eth_getblockbyhash.md): Haqq RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-haqq-eth_getblockbynumber.md): Haqq RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-haqq-eth_getblocktransactioncountbyhash.md): Haqq RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-haqq-eth_getblocktransactioncountbynumber.md): Haqq RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-haqq-eth_getcode.md): Haqq RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-haqq-eth_getlogs.md): Haqq RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-haqq-eth_getproof.md): Haqq RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-haqq-eth_getstorageat.md): Haqq RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-haqq-eth_gettransactionbyblockhashandindex.md): Haqq RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-haqq-eth_gettransactionbyblocknumberandindex.md): Haqq RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-haqq-eth_gettransactionbyhash.md): Haqq RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-haqq-eth_gettransactioncount.md): Haqq RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-haqq-eth_gettransactionreceipt.md): Haqq RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-haqq-eth_getunclecountbyblockhash.md): Haqq RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-haqq-eth_getunclecountbyblocknumber.md): Haqq RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-haqq-eth_maxpriorityfeepergas.md): Haqq RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-haqq-eth_sendrawtransaction.md): Haqq RPC - [txpool_content](https://docs.tatum.io/reference/rpc-haqq-txpool_content.md): Haqq RPC - [txpool_inspect](https://docs.tatum.io/reference/rpc-haqq-txpool_inspect.md): Haqq RPC - [txpool_status](https://docs.tatum.io/reference/rpc-haqq-txpool_status.md): Haqq RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-haqq-web3_clientversion.md): Haqq RPC - [Invoke a method in a smart contract on Harmony](https://docs.tatum.io/reference/oneblockchainsmartcontractinvocation.md):

    /v3/one/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on Harmony.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send ONE from account to account](https://docs.tatum.io/reference/oneblockchaintransfer.md):

    /v3/one/transaction

    2 credits per API call

    Send ONE from account to account.

    The default shard 0 is used for the sender and the recipient.

    Signing a transaction
    When sending ONE, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    Alternatively, using the Tatum client library for supported languages.

    - [Broadcast signed ONE transaction](https://docs.tatum.io/reference/onebroadcast.md):

    /v3/one/broadcast

    2 credits per API call

    Broadcast signed transaction to ONE blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Transform HEX address to Bech32 ONE address format](https://docs.tatum.io/reference/oneformataddress.md):

    /v3/one/address/format/{address}

    1 credit per API call

    Transform HEX address to Bech32 format with one prefix.

    - [Generate ONE account address from Extended public key](https://docs.tatum.io/reference/onegenerateaddress.md):

    /v3/one/address/{xpub}/{index}

    1 credit per API call

    Generate ONE account deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31.

    - [Generate ONE private key](https://docs.tatum.io/reference/onegenerateaddressprivatekey.md):

    /v3/one/wallet/priv

    1 credit per API call

    Generate private key of address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^31 private keys starting from index 0 until 2^31.

    - [Generate ONE wallet](https://docs.tatum.io/reference/onegeneratewallet.md):

    /v3/one/wallet

    1 credit per API call

    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for ONE wallet with derivation path m'/44'/60'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible ONE wallet.

    - [Get ONE Account balance](https://docs.tatum.io/reference/onegetbalance.md):

    ⚠️ Deprecated: Get ONE Balance


    GET /v3/one/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get native balance for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get ONE account balance in ONE. This method does not prints any balance of the HRM20 or HRM721 tokens on the account.

    - [Get ONE block by hash](https://docs.tatum.io/reference/onegetblock.md):

    ⚠️ Deprecated: Get ONE Block


    GET /v3/one/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Get block by hash or height for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get ONE block by block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/onegetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block Number


    GET /v3/one/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Get the current block height for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get ONE current block number. This is the number of the latest block in the blockchain.

    - [Get ONE Transaction](https://docs.tatum.io/reference/onegettransaction.md):

    ⚠️ Deprecated: Get ONE Transaction


    GET /v3/one/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Get transaction by hash for any supported blockchain.


    Explore Docs →

    2 credits per API call

    Get ONE transaction by transaction hash.

    - [Get count of outgoing ONE transactions](https://docs.tatum.io/reference/onegettransactioncount.md):

    ⚠️ Deprecated: Get ONE Transaction Count


    GET /v3/one/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Get outgoing transaction count for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get a number of outgoing ONE transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/oneweb3driver.md):

    /v3/one/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based web3 driver to connect directly to the ONE node provided by Tatum. To learn more about ONE Web3, visit the ONE developer's guide.

    - [Harmony](https://docs.tatum.io/reference/rpc-harmony.md): Discover Harmony, a blockchain optimized for scalability and low-latency transactions. Build high-performance dApps using its RPC gateway. - [HyperEVM](https://docs.tatum.io/reference/rpc-hyperevm.md): Discover HyperEVM, Hyperliquid’s EVM-compatible execution layer delivering sub-second finality. Deploy lightning-fast dApps through its streamlined RPC endpoints and native $HYPE gas. - [Iota](https://docs.tatum.io/reference/rpc-iota.md): Explore IOTA, a blockchain designed for the Internet of Things (IoT) with feeless transactions. Build decentralized applications using its RPC gateway. - [Katana](https://docs.tatum.io/reference/rpc-katana.md): Explore Katana Chain, an EVM-compatible blockchain built for fast and efficient decentralized applications. Build scalable and cost-effective solutions using its RPC gateway. - [Kaia (Klaytn)](https://docs.tatum.io/reference/rpc-klaytn.md): Kaia (Klaytn) is a Layer-1 blockchain platform developed by leading Asian messengers Kakao and LINE. - [Invoke a method in a smart contract on Klaytn](https://docs.tatum.io/reference/klaytnblockchainsmartcontractinvocation.md):

    /v3/klaytn/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on Klaytn.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send KLAY from account to account](https://docs.tatum.io/reference/klaytnblockchaintransfer.md):

    /v3/klaytn/transaction

    2 credits per API call

    Send KLAY from account to account.

    Signing a transaction

    When sending KLAY, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Broadcast signed Klaytn transaction](https://docs.tatum.io/reference/klaytnbroadcast.md):

    /v3/klaytn/broadcast

    2 credits per API call

    Broadcast signed transaction to Klaytn blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate Klaytn account address from Extended public key](https://docs.tatum.io/reference/klaytngenerateaddress.md):

    /v3/klaytn/address/{xpub}/{index}

    1 credit per API call

    Generate Klaytn account deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31.

    - [Generate Klaytn private key](https://docs.tatum.io/reference/klaytngenerateaddressprivatekey.md):

    /v3/klaytn/wallet/priv

    1 credit per API call

    Generate private key of address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^31 private keys starting from index 0 until 2^31.

    - [Generate Klaytn wallet](https://docs.tatum.io/reference/klaytngeneratewallet.md):

    /v3/klaytn/wallet

    1 credit per API call

    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for Klaytn wallet with derivation path m'/44'/966'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Klaytn wallet.

    - [Get Klaytn Account balance](https://docs.tatum.io/reference/klaytngetbalance.md):

    ⚠️ Deprecated: Get Klaytn Balance


    GET /v3/klaytn/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get native balance for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get Klaytn account balance in KLAY. This method does not prints any balance of the ERC20 or ERC721 tokens on the account.

    - [Get Klaytn block by hash](https://docs.tatum.io/reference/klaytngetblock.md):

    ⚠️ Deprecated: Get Klaytn Block


    GET /v3/klaytn/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Get block by hash or height for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get Klaytn block by block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/klaytngetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block Number


    GET /v3/klaytn/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Get the current block height for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get Klaytn current block number. This is the number of the latest block in the blockchain.

    - [Get Klaytn Transaction](https://docs.tatum.io/reference/klaytngettransaction.md):

    ⚠️ Deprecated: Get Klaytn Transaction


    GET /v3/klaytn/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Get transaction by hash for any supported blockchain.


    Explore Docs →

    2 credits per API call

    Get Klaytn transaction by transaction hash.

    - [Get count of outgoing Klaytn transactions](https://docs.tatum.io/reference/klaytngettransactioncount.md):

    ⚠️ Deprecated: Get Klaytn Transaction Count


    GET /v3/klaytn/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Get outgoing transaction count for any supported blockchain.


    Explore Docs →

    1 credit per API call

    Get a number of outgoing Klaytn transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/klaytnweb3driver.md):

    /v3/klaytn/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based web3 driver to connect directly to the Klaytn node provided by Tatum. To learn more about Klaytn Web3, visit the Klaytn developer's guide.

    - [debug_getRawBlock - Kaia](https://docs.tatum.io/reference/rpc-kaia-debug_getrawblock.md): Returns an RLP-encoded block. - [debug_getRawHeader - Kaia](https://docs.tatum.io/reference/rpc-kaia-debug_getrawheader.md): Returns an RLP-encoded header. - [debug_getRawReceipts - Kaia](https://docs.tatum.io/reference/rpc-kaia-debug_getrawreceipts.md): Returns an array of EIP-2718 binary-encoded receipts. - [debug_storageRangeAt - Kaia](https://docs.tatum.io/reference/rpc-kaia-debug_storagerangeat.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_storageRangeAt** is an RPC method that allows you to retrieve the contract storage range for a given block and address. This can be useful for developers and auditors who want to inspect the storage state of a specific contract at a particular point in time. This method can also help in debugging and identifying potential issues with contract storage, as well as understanding how storage evolves as transactions are executed. - [debug_traceBlockByHash - Kaia](https://docs.tatum.io/reference/rpc-kaia-debug_traceblockbyhash.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceBlockByHash** method allows developers to trace the execution of transactions within a block specified by its hash. This method is particularly useful for debugging purposes, as it provides detailed information about the execution of each transaction within the block, including the type of call, the addresses involved, the value transferred, the gas used, the input data, the output data, and any sub-calls made during the transaction. - [debug_traceBlockByNumber - Kaia](https://docs.tatum.io/reference/rpc-kaia-debug_traceblockbynumber.md): Replays the block that is already present in the database. - [debug_traceCall - Kaia](https://docs.tatum.io/reference/rpc-kaia-debug_tracecall.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceCall** is an Kaia RPC method that allows you to execute a given call (message), tracing the steps of its execution. This can be helpful for developers and auditors who want to inspect and analyze the internal operations and state changes of a contract call without modifying the blockchain state. This method can assist in debugging and identifying potential issues with contract execution, as well as understanding how gas is consumed during the execution of a call. - [debug_traceTransaction - Kaia](https://docs.tatum.io/reference/rpc-kaia-debug_tracetransaction.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceTransaction** RPC method is utilized to trace the execution of a transaction on the Kaia blockchain. This method is highly beneficial for debugging purposes, as it furnishes comprehensive details regarding the transaction's execution. These details include the type of call, the involved addresses, the transferred value, the gas consumption, the input and output data, any encountered errors, and reasons for reverts if applicable. Moreover, it can enumerate sub-calls made during the transaction's execution. - [eth_accounts - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_accounts.md): Returns a list of addresses owned by client. Since Alchemy does not store keys, this will always return empty. - [eth_blockNumber - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_blocknumber.md): The **eth_blockNumber** method is part of the Kaia JSON-RPC API, which is used to interact with the Kaia blockchain. This method is particularly useful for various use cases within the blockchain ecosystem, including but not limited to: Monitoring Blockchain Health: By regularly checking the latest block number, developers can monitor the health and activity of the Kaia blockchain. This can be crucial for applications that rely on the blockchain for their operations, as it helps in identifying any potential issues or delays in block production. Synchronization Checks: For applications that interact with the Kaia blockchain, knowing the latest block number can be essential for synchronization purposes. It helps in ensuring that the application's data is up-to-date with the blockchain's state. Transaction Verification: When submitting transactions to the blockchain, knowing the current block number can be useful for setting appropriate gas prices and for verifying transaction confirmations. - [eth_call - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_call.md): The **eth_call** method in Kaia's JSON-RPC API is used to execute a new message call immediately without creating a transaction on the blockchain. This method is particularly useful for testing and debugging smart contracts, as it allows developers to simulate the execution of contract methods without actually sending transactions to the network. This can help in identifying issues or understanding the behavior of contracts without incurring any gas costs or affecting the blockchain state. Please check the common use cases: Testing Smart Contracts: Before deploying a smart contract, developers can use eth_call to test its functionality and ensure it behaves as expected. Debugging: It can be used to debug smart contracts by simulating transactions and observing the state changes or return values without affecting the live contract. Estimating Gas Costs: Although eth_call does not actually send a transaction, it can be used to estimate the gas costs of a transaction by simulating its execution. - [eth_chainId - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_chainid.md): The **eth_chainId** method is part of the Kaia JSON-RPC API, specifically designed to return the current network or chain ID. This method is crucial for ensuring the uniqueness of transactions across different Kaia networks, as it helps in preventing replay attacks by distinguishing between transactions intended for different networks. The chain ID was introduced as part of EIP-155 to address the issue of transaction replay attacks across different Kaia networks. - [eth_createAccessList - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_createaccesslist.md): Kaia API - Creates an EIP2930 type `accessList` based on a given Transaction object. Returns list of addresses and storage keys that are read and written by the transaction (except the sender account and precompiles), plus the estimated gas consumed when the access list is added. - [eth_estimateGas - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_estimategas.md): The **eth_estimateGas** method in Kaia's JSON-RPC API is used to estimate the amount of gas that would be required to execute a transaction without actually sending it. This method is particularly useful for determining the appropriate gas limit for a transaction before it is submitted to the network, helping to avoid out-of-gas errors and ensuring that transactions are processed efficiently. - [eth_feeHistory - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_feehistory.md): The **eth_feeHistory** retrieves historical gas fee data, providing insights into gas price trends and block utilization over time. This method is valuable for estimating transaction fees and understanding network congestion. - [eth_gasPrice - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_gasprice.md): The **eth_gasPrice** method is part of the Kaia JSON-RPC API, which is used to interact with the Kaia blockchain. This method specifically returns the current gas price on the Kaia network in wei. Wei is the smallest denomination of ether, the cryptocurrency used on the Kaia network. The gas price is a critical parameter for transactions on the Kaia network, as it determines how much a transaction is willing to pay per unit of gas, which is a measure of computational effort. - [eth_getBalance - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getbalance.md): The **eth_getBalance** method is an Kaia JSON-RPC method that allows you to retrieve the Ether balance of a specified address. This method can be used to query the balance of any Kaia address, whether it is a contract or an externally owned account (EOA). A common use case for this method is to display the current balance of a user's account in a wallet application or a decentralised application (DApp). - [eth_getBlockByHash - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getblockbyhash.md): The **eth_getBlockByHash** is an Kaia JSON-RPC method that allows developers to query a specific block in the Kaia blockchain by its block hash. This method can be used in various scenarios, such as analysing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockByNumber - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getblockbynumber.md): The **eth_getBlockByNumber** is an Kaia JSON-RPC method that allows developers to query a specific block in the Kaia blockchain by its block number. This method can be used in various scenarios, such as analyzing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockReceipts - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getblockreceipts.md): The **eth_getBlockReceipts** RPC method is a powerful tool for retrieving the receipts of all transactions included in a block, along with the block header. This method is particularly useful for applications that require detailed information about transactions, such as event logs, gas usage, and the status of transactions. It is supported on nodes running the Erigon client. - [eth_getBlockTransactionCountByHash - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getblocktransactioncountbyhash.md): The **eth_getBlockTransactionCountByHash** is an Kaia RPC method used to fetch the number of transactions in a block by the block's hash. It is useful when you want to know the total number of transactions included in a specific block and don't want to retrieve the entire block data. This method can be used in various scenarios, such as monitoring the network activity or estimating transaction confirmation times. - [eth_getBlockTransactionCountByNumber - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getblocktransactioncountbynumber.md): The **eth_getBlockTransactionCountByNumber** Kaia JSON-RPC method allows you to retrieve the number of transactions in a specified block. This method is particularly useful when you need to analyze the transaction activity of a specific block. You can use it to gain insights into network usage, analyze the impact of specific events on the Kaia network, or monitor transaction congestion in certain blocks. - [eth_getCode - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getcode.md): The **eth_getCode** method is part of the Kaia JSON-RPC API and is used to retrieve the contract code (bytecode) of an account at a specific block number. This method is particularly useful for developers who need to examine the bytecode of a deployed contract, verify the integrity of a deployed contract, analyze contract bytecode for security vulnerabilities, or debug a smart contract. - [eth_getFilterChanges - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getfilterchanges.md): Polling method for a filter, which returns an array of logs which occurred since last poll. - [eth_getFilterLogs - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getfilterlogs.md): Returns an array of all logs matching filter with given id. Can compute the same results with an eth_getLogs call. - [eth_getLogs - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getlogs.md): The eth_getLogs method is an Kaia JSON-RPC method that allows developers to query logs generated by the Kaia network, specifically event logs emitted by smart contracts. These logs are an essential part of the Kaia ecosystem as they provide a way for developers to monitor contract events and track contract state changes. This method is particularly useful when building decentralized applications (dApps) that rely on events emitted by smart contracts, as it enables developers to retrieve logs based on specific filter criteria. By using eth_getLogs, developers can efficiently track and react to events happening on the Kaia blockchain. - [eth_getProof - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getproof.md): The **eth_getProof** is an Kaia JSON-RPC method that retrieves the Merkle-Patricia proof for an account, storage key-value pairs, and account transaction count. It allows developers to verify the state of an account or storage value at a specific block without needing the entire Kaia state trie. This method is particularly useful for light clients or off-chain applications that require proof of an account's state or specific storage values. - [eth_getStorageAt - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getstorageat.md): The **eth_getStorageAt** is an Kaia JSON-RPC method that allows you to query the storage value of a contract at a given position. It can be used to inspect the internal state of a smart contract. This method is particularly useful for developers, auditors, and analysts who want to examine contract storage values for various purposes, such as debugging, verifying contract behavior, or analyzing data. - [eth_getTransactionByBlockHashAndIndex - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_gettransactionbyblockhashandindex.md): The **eth_getTransactionByBlockHashAndIndex** is an Kaia JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByBlockNumberAndIndex - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_gettransactionbyblocknumberandindex.md): The eth_getTransactionByBlockHashAndIndex is an Kaia JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByHash - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_gettransactionbyhash.md): The **eth_getTransactionByHash** is an Kaia JSON-RPC method that allows you to query transaction details based on its hash. This method is useful when you want to retrieve information about a specific transaction, such as its sender, receiver, value, and more. Common use cases include tracking transaction status, monitoring incoming transactions, or analyzing historical transaction data. - [eth_getTransactionCount - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_gettransactioncount.md): The **eth_getTransactionCount** method is an Kaia JSON-RPC method that retrieves the number of transactions sent from a given address. It is a useful method for developers who need to keep track of an account's nonce value to avoid transaction collisions or incorrect order of execution. The nonce value is essential for ensuring transaction uniqueness and preventing replay attacks. - [eth_getTransactionReceipt - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_gettransactionreceipt.md): The **eth_getTransactionReceipt** is an Kaia JSON-RPC method that retrieves the transaction receipt of a given transaction hash. This method is particularly useful when you need to obtain detailed information about a transaction's execution, such as its status (success or failure), gas usage, and logs (events). Common use cases include checking the status of a transaction after it has been mined or inspecting the events emitted by a smart contract during a specific transaction. - [eth_getUncleByBlockHashAndIndex - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getunclebyblockhashandindex.md): Returns information about an uncle of a block by hash and uncle index position. - [eth_getUncleByBlockNumberAndIndex - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getunclebyblocknumberandindex.md): Returns information about an uncle of a block by number and uncle index position. - [eth_getUncleCountByBlockHash - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getunclecountbyblockhash.md): The **eth_getUncleCountByBlockHash** method is an Kaia JSON-RPC method that returns the number of uncles in a specified block by its hash. This method can be useful for gathering information about the performance of the Kaia network and to analyse the security of the blockchain. Uncles are blocks that are not included in the main blockchain but are still valid, and they contribute to the overall security and decentralisation of the Kaia network. The inclusion of uncles helps prevent centralisation and ensures the mining process remains competitive. - [eth_getUncleCountByBlockNumber - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_getunclecountbyblocknumber.md): The **eth_getUncleCountByBlockNumber** is an Kaia JSON-RPC method that allows you to fetch the number of uncles in a block based on the block number. This method can be useful when you want to retrieve the number of uncles in a block without knowing the block hash. - [eth_maxPriorityFeePerGas - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_maxpriorityfeepergas.md): The **eth_maxPriorityFeePerGas** RPC method is specifically designed to return the maximum priority fee per gas that is needed to be included in a block. This method is crucial for developers and users interacting with the Kaia network, as it provides insights into the current gas fees required for transactions to be processed efficiently. - [eth_newBlockFilter - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_newblockfilter.md): Creates a filter in the node, to notify when a new block arrives. - [eth_newPendingTransactionFilter - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_newpendingtransactionfilter.md): Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call eth_getFilterChanges. - [eth_protocolVersion - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_protocolversion.md): Returns the current ethereum protocol version. - [eth_sendRawTransaction - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_sendrawtransaction.md): The **eth_sendRawTransaction** RPC method is used to facilitate the transmission of a signed and serialized Kaia transaction onto the network. This approach proves invaluable when seeking complete oversight of the signing procedure, especially when employing hardware wallets, cold storage solutions, or custom signing libraries. Its versatility shines through in multiple scenarios, including Ether transfers, smart contract interactions, and contract deployments. - [eth_uninstallFilter - Kaia](https://docs.tatum.io/reference/rpc-kaia-eth_uninstallfilter.md): Uninstalls a filter with given id. Should always be called when watch is no longer needed. Additionally, Filters timeout when they aren’t requested with eth_getFilterChangesfor a period of time. - [eth_blockNumber - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_blocknumber.md): The **kaia_blockNumber** method is part of the Kaia JSON-RPC API, which is used to interact with the Kaia blockchain. This method is particularly useful for various use cases within the blockchain ecosystem, including but not limited to: Monitoring Blockchain Health: By regularly checking the latest block number, developers can monitor the health and activity of the Kaia blockchain. This can be crucial for applications that rely on the blockchain for their operations, as it helps in identifying any potential issues or delays in block production. Synchronization Checks: For applications that interact with the Kaia blockchain, knowing the latest block number can be essential for synchronization purposes. It helps in ensuring that the application's data is up-to-date with the blockchain's state. Transaction Verification: When submitting transactions to the blockchain, knowing the current block number can be useful for setting appropriate gas prices and for verifying transaction confirmations. - [kaia_chainId - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_chainid.md): The **kaia_chainId** method is part of the Kaia JSON-RPC API, specifically designed to return the current network or chain ID. This method is crucial for ensuring the uniqueness of transactions across different Kaia networks, as it helps in preventing replay attacks by distinguishing between transactions intended for different networks. The chain ID was introduced as part of EIP-155 to address the issue of transaction replay attacks across different Kaia networks. - [kaia_estimateGas - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_estimategas.md): The **kaia_estimateGas** method in Kaia's JSON-RPC API is used to estimate the amount of gas that would be required to execute a transaction without actually sending it. This method is particularly useful for determining the appropriate gas limit for a transaction before it is submitted to the network, helping to avoid out-of-gas errors and ensuring that transactions are processed efficiently. - [kaia_gasPrice - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_gasprice.md): The **kaia_gasPrice** method is part of the Kaia JSON-RPC API, which is used to interact with the Kaia blockchain. This method specifically returns the current gas price on the Kaia network in wei. Wei is the smallest denomination of ether, the cryptocurrency used on the Kaia network. The gas price is a critical parameter for transactions on the Kaia network, as it determines how much a transaction is willing to pay per unit of gas, which is a measure of computational effort. - [kaia_getBalance - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_getbalance.md): The **kaia_getBalance** method is an Kaia JSON-RPC method that allows you to retrieve the Ether balance of a specified address. This method can be used to query the balance of any Kaia address, whether it is a contract or an externally owned account (EOA). A common use case for this method is to display the current balance of a user's account in a wallet application or a decentralised application (DApp). - [kaia_getBlockByHash - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_getblockbyhash.md): The **kaia_getBlockByHash** is an Kaia JSON-RPC method that allows developers to query a specific block in the Kaia blockchain by its block hash. This method can be used in various scenarios, such as analysing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [kaia_getBlockByNumber - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_getblockbynumber.md): The **kaia_getBlockByNumber** is an Kaia JSON-RPC method that allows developers to query a specific block in the Kaia blockchain by its block number. This method can be used in various scenarios, such as analyzing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [kaia_getBlockReceipts - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_getblockreceipts.md): The **kaia_getBlockReceipts** RPC method is a powerful tool for retrieving the receipts of all transactions included in a block, along with the block header. This method is particularly useful for applications that require detailed information about transactions, such as event logs, gas usage, and the status of transactions. It is supported on nodes running the Erigon client. - [kaia_getBlockTransactionCountByHash - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_getblocktransactioncountbyhash.md): The **kaia_getBlockTransactionCountByHash** is an Kaia RPC method used to fetch the number of transactions in a block by the block's hash. It is useful when you want to know the total number of transactions included in a specific block and don't want to retrieve the entire block data. This method can be used in various scenarios, such as monitoring the network activity or estimating transaction confirmation times. - [kaia_getBlockTransactionCountByNumber - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_getblocktransactioncountbynumber.md): The **kaia_getBlockTransactionCountByNumber** Kaia JSON-RPC method allows you to retrieve the number of transactions in a specified block. This method is particularly useful when you need to analyze the transaction activity of a specific block. You can use it to gain insights into network usage, analyze the impact of specific events on the Kaia network, or monitor transaction congestion in certain blocks. - [kaia_getCode - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_getcode.md): The **kaia_getCode** method is part of the Kaia JSON-RPC API and is used to retrieve the contract code (bytecode) of an account at a specific block number. This method is particularly useful for developers who need to examine the bytecode of a deployed contract, verify the integrity of a deployed contract, analyze contract bytecode for security vulnerabilities, or debug a smart contract. - [kaia_getLogs - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_getlogs.md): The kaia_getLogs method is an Kaia JSON-RPC method that allows developers to query logs generated by the Kaia network, specifically event logs emitted by smart contracts. These logs are an essential part of the Kaia ecosystem as they provide a way for developers to monitor contract events and track contract state changes. This method is particularly useful when building decentralized applications (dApps) that rely on events emitted by smart contracts, as it enables developers to retrieve logs based on specific filter criteria. By using kaia_getLogs, developers can efficiently track and react to events happening on the Kaia blockchain. - [kaia_getStorageAt - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_getstorageat.md): The **kaia_getStorageAt** is an Kaia JSON-RPC method that allows you to query the storage value of a contract at a given position. It can be used to inspect the internal state of a smart contract. This method is particularly useful for developers, auditors, and analysts who want to examine contract storage values for various purposes, such as debugging, verifying contract behavior, or analyzing data. - [kaia_getTransactionByBlockHashAndIndex - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_gettransactionbyblockhashandindex.md): The **kaia_getTransactionByBlockHashAndIndex** is an Kaia JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [kaia_getTransactionByBlockNumberAndIndex - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_gettransactionbyblocknumberandindex.md): The kaia_getTransactionByBlockHashAndIndex is an Kaia JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [kaia_getTransactionByHash - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_gettransactionbyhash.md): The **kaia_getTransactionByHash** is an Kaia JSON-RPC method that allows you to query transaction details based on its hash. This method is useful when you want to retrieve information about a specific transaction, such as its sender, receiver, value, and more. Common use cases include tracking transaction status, monitoring incoming transactions, or analyzing historical transaction data. - [kaia_getTransactionCount - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_gettransactioncount.md): The **kaia_getTransactionCount** method is an Kaia JSON-RPC method that retrieves the number of transactions sent from a given address. It is a useful method for developers who need to keep track of an account's nonce value to avoid transaction collisions or incorrect order of execution. The nonce value is essential for ensuring transaction uniqueness and preventing replay attacks. - [kaia_getTransactionReceipt - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_gettransactionreceipt.md): The **kaia_getTransactionReceipt** is an Kaia JSON-RPC method that retrieves the transaction receipt of a given transaction hash. This method is particularly useful when you need to obtain detailed information about a transaction's execution, such as its status (success or failure), gas usage, and logs (events). Common use cases include checking the status of a transaction after it has been mined or inspecting the events emitted by a smart contract during a specific transaction. - [kaia_maxPriorityFeePerGas - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_maxpriorityfeepergas.md): The **kaia_maxPriorityFeePerGas** RPC method is specifically designed to return the maximum priority fee per gas that is needed to be included in a block. This method is crucial for developers and users interacting with the Kaia network, as it provides insights into the current gas fees required for transactions to be processed efficiently. - [kaia_sendRawTransaction - Kaia](https://docs.tatum.io/reference/rpc-kaia-kaia_sendrawtransaction.md): The **kaia_sendRawTransaction** RPC method is used to facilitate the transmission of a signed and serialized Kaia transaction onto the network. This approach proves invaluable when seeking complete oversight of the signing procedure, especially when employing hardware wallets, cold storage solutions, or custom signing libraries. Its versatility shines through in multiple scenarios, including Ether transfers, smart contract interactions, and contract deployments. - [net_listening - Kaia](https://docs.tatum.io/reference/rpc-kaia-net_listening.md): Returns true if client is actively listening for network connections. - [net_version - Kaia](https://docs.tatum.io/reference/rpc-kaia-net_version.md): Returns the current network id. - [trace_block - Kaia](https://docs.tatum.io/reference/rpc-kaia-trace_block.md): The **trace_block** is a JSON-RPC method that allows you to fetch the trace details for a given block based on the block height. This method can be useful when you need detailed trace information for a specific block. Use cases for this method may include: - Analyzing the internal operations of transactions within a block - Debugging smart contract interactions - Collecting data for in-depth blockchain analytics - [txpool_content - Kaia](https://docs.tatum.io/reference/rpc-kaia-txpool_content.md): The **txpool_content** is specifically designed to return all pending and queued transactions currently in the transaction pool. It's important to note that this method is supported only on Geth, which is a popular Kaia client. - [txpool_inspect - Kaia](https://docs.tatum.io/reference/rpc-kaia-txpool_inspect.md): The **txpool_inspect** method is part of the txpool namespace in Kaia's JSON-RPC API, which provides access to several non-standard RPC methods to inspect the contents of the transaction pool. This method is specifically tailored for developers to quickly see the transactions in the pool and identify any potential issues. It is used to list a textual summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only. - [txpool_status - Kaia](https://docs.tatum.io/reference/rpc-kaia-txpool_status.md): The **txpool_status** method is part of the Kaia JSON-RPC API, which is used to query the status of the transaction pool (mempool) on an Kaia node. This method is particularly useful for developers and analysts who need to monitor the current state of pending and queued transactions in the Kaia network. - [web3_clientVersion - Kaia](https://docs.tatum.io/reference/rpc-kaia-web3_clientversion.md): The **web3_clientVersion** method is part of the Kaia JSON-RPC API, specifically designed to return the current version of the Kaia client being used. This method is particularly useful for debugging or when you need to ensure compatibility with specific client versions. - [web3_sha3 - Kaia](https://docs.tatum.io/reference/rpc-kaia-web3_sha3.md): Returns Keccak-256 (not the standardized SHA3-256) of the given data. - [KuCoin](https://docs.tatum.io/reference/rpc-kucoin.md): Discover Kucoin Chain, an EVM-compatible blockchain for decentralized finance. Build scalable dApps using the RPC gateway and tools. - [Invoke a method in a smart contract on KuCoin Community Chain](https://docs.tatum.io/reference/kcsblockchainsmartcontractinvocation.md):

    /v3/kcs/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on KuCoin Community Chain.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send KCS from account to account](https://docs.tatum.io/reference/kcsblockchaintransfer.md):

    /v3/kcs/transaction

    2 credits per API call

    Send KCS from account to account.

    Signing a transaction

    When sending KCS, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    Alternatively, using the Tatum client library for supported languages.

    - [Broadcast signed Kcs transaction](https://docs.tatum.io/reference/kcsbroadcast.md):

    /v3/kcs/broadcast

    2 credits per API call

    Broadcast signed transaction to Kcs blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate Kcs account address from Extended public key](https://docs.tatum.io/reference/kcsgenerateaddress.md):

    /v3/kcs/address/{xpub}/{index}

    1 credit per API call

    Generate Kcs account deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31.

    - [Generate Kcs private key](https://docs.tatum.io/reference/kcsgenerateaddressprivatekey.md):

    /v3/kcs/wallet/priv

    1 credit per API call

    Generate private key of address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^31 private keys starting from index 0 until 2^31.

    - [Generate Kcs wallet](https://docs.tatum.io/reference/kcsgeneratewallet.md):

    /v3/kcs/wallet

    1 credit per API call

    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for Kcs wallet with derivation path m'/44'/966'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Kcs wallet.

    - [Get Kcs Account balance](https://docs.tatum.io/reference/kcsgetbalance.md):

    ⚠️ Deprecated: Get Balance


    GET /v3/kcs/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Fetch the balance of a blockchain address, including native and fungible tokens.


    Explore Docs →

    /v3/kcs/account/balance/{address}

    1 credit per API call

    Get Kcs account balance in KCS. This method does not prints any balance of the ERC20 or ERC721 tokens on the account.

    - [Get Kcs block by hash](https://docs.tatum.io/reference/kcsgetblock.md):

    ⚠️ Deprecated: Get Block


    GET /v3/kcs/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch a specific block from the blockchain by providing the block hash or block number.


    Explore Docs →

    /v3/kcs/block/{hash}

    1 credit per API call

    Get Kcs block by block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/kcsgetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block


    GET /v3/kcs/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Fetch the current block in the blockchain. This endpoint returns the latest block number available.


    Explore Docs →

    /v3/kcs/block/current

    1 credit per API call

    Get Kcs current block number. This is the number of the latest block in the blockchain.

    - [Get Kcs Transaction](https://docs.tatum.io/reference/kcsgettransaction.md):

    ⚠️ Deprecated: Get Transaction


    GET /v3/kcs/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch a specific transaction from the blockchain by providing the transaction hash.


    Explore Docs →

    /v3/kcs/transaction/{hash}

    2 credits per API call

    Get Kcs transaction by transaction hash.

    - [Get count of outgoing Kcs transactions](https://docs.tatum.io/reference/kcsgettransactioncount.md):

    ⚠️ Deprecated: Get Transaction Count


    GET /v3/kcs/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Fetch the count of transactions for a blockchain address.


    Explore Docs →

    /v3/kcs/transaction/count/{address}

    1 credit per API call

    Get a number of outgoing Kcs transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/kcsweb3driver.md):

    /v3/kcs/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based web3 driver to connect directly to the Kcs node provided by Tatum. To learn more about Kcs Web3, visit the Kcs developer's guide.

    - [Kusama Asset Hub](https://docs.tatum.io/reference/rpc-kusama-assethub.md): Explore Kusama Asset Hub, a system parachain for low-cost asset creation, transfers, and NFT management on the Kusama network. - [Kusama](https://docs.tatum.io/reference/rpc-kusama.md): Explore Kusama, an experimental and fast-moving blockchain network designed for innovation in decentralized applications and governance. - [Lisk](https://docs.tatum.io/reference/rpc-lisk.md): Discover Lisk, a blockchain platform designed for decentralized applications. Build secure and scalable dApps with its developer-friendly SDK. - [Litecoin](https://docs.tatum.io/reference/rpc-litecoin.md): Explore Litecoin, a blockchain designed for fast and low-fee transactions. Build decentralized payment solutions using its RPC gateway. - [Broadcast signed Litecoin transaction](https://docs.tatum.io/reference/ltcbroadcast.md):

    /v3/litecoin/broadcast

    5 credits per API call.


    Broadcast signed transaction to Litecoin blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK. - [Generate Litecoin deposit address from Extended public key](https://docs.tatum.io/reference/ltcgenerateaddress.md):

    /v3/litecoin/address/{xpub}/{index}

    5 credits per API call.


    Generate Litecoin deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK. - [Generate Litecoin private key](https://docs.tatum.io/reference/ltcgenerateaddressprivatekey.md):

    /v3/litecoin/wallet/priv

    5 credits per API call.


    Generate private key for address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK. - [Generate Litecoin wallet](https://docs.tatum.io/reference/ltcgeneratewallet.md):

    /v3/litecoin/wallet

    5 credits per API call.


    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for Litecoin wallet with derivation path m'/44'/2'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/litecoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Litecoin wallet.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK. - [Get the balance of a Litecoin address](https://docs.tatum.io/reference/ltcgetbalanceofaddress.md):

    ⚠️ Deprecated: Get Litecoin Address Balance


    GET /v3/litecoin/address/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Get the balance of a Litecoin address.


    Explore Docs →

    /v3/litecoin/address/balance/{address}

    5 credits per API call

    Get the balance of a Litecoin address.

  10. Note: Litecoin mainnet, Litecoin testnet is now supported for any amount of utxo's on address with our latest update. This functionality will be extended to other chains soon.
  11. - [Get the balance of multiple Litecoin addresses](https://docs.tatum.io/reference/ltcgetbalanceofaddressbatch.md):

    ⚠️ Deprecated: Get Litecoin Address Balance Batch


    GET /v3/litecoin/address/balance/batch is deprecated.

    Use GET /v4/data/blockchains/balance/batch

    Get the balance of multiple Litecoin addresses.


    Explore Docs →

    /v3/litecoin/address/balance/batch

    5 credit per address for each API call

    Get the balance of multiple Litecoin addresses.

    - [Get Litecoin Block by hash or height](https://docs.tatum.io/reference/ltcgetblock.md):

    /v3/litecoin/block/{hash}

    5 credits per API call.


    Get Litecoin Block detail by block hash or height.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK. - [Get Litecoin Blockchain Information](https://docs.tatum.io/reference/ltcgetblockchaininfo.md):

    /v3/litecoin/info

    5 credits per API call.


    Get Litecoin Blockchain Information. Obtain basic info like testnet / mainnet version of the chain, current block number and it's hash.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK. - [Get Litecoin Block hash](https://docs.tatum.io/reference/ltcgetblockhash.md):

    ⚠️ Deprecated: Get Block Hash


    GET /v3/litecoin/block/hash/{i} is deprecated.

    Use GET /v4/data/blockchains/block/hash

    Fetch the hash of a block from the blockchain.


    Explore Docs →

    /v3/litecoin/block/hash/{i}

    5 credits per API call.


    Get Litecoin Block hash. Returns hash of the block to get the block detail.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK. - [Get Mempool Transactions](https://docs.tatum.io/reference/ltcgetmempool.md):

    ⚠️ Deprecated: Get Mempool


    GET /v3/litecoin/mempool is deprecated.

    Use GET /v4/data/blockchains/mempool

    Get mempool (unconfirmed) transaction hashes for a UTXO chain.


    Explore Docs →

    /v3/litecoin/mempool

    1 credit per API call.


    Get Litecoin Transaction ids in the mempool.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK. - [Get Litecoin Transaction by hash](https://docs.tatum.io/reference/ltcgetrawtransaction.md):

    /v3/litecoin/transaction/{hash}

    5 credits per API call.


    Get Litecoin Transaction detail by transaction hash.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK.' - [Get Litecoin Transactions by address](https://docs.tatum.io/reference/ltcgettxbyaddress.md):

    /v3/litecoin/transaction/address/{address}

    5 credits per API call.


    Get Litecoin Transaction by address.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK.' - [Get transactions for multiple Litecoin addresses in a batch](https://docs.tatum.io/reference/ltcgettxbyaddressbatch.md):

    /v3/litecoin/transaction/address/batch

    5 credit per address for each API call

    Retrieve transactions for multiple Litecoin addresses in a batch.

    - [Get information about a transaction output (UTXO) in a Litecoin transaction](https://docs.tatum.io/reference/ltcgetutxo.md):

    ⚠️ Deprecated: Get UTXO


    GET /v3/litecoin/utxo/{hash}/{index} is deprecated.

    Use GET /v4/data/blockchains/utxo/info

    Get information about a transaction output (UTXO) by transaction hash and output index.


    Explore Docs →

    /v3/litecoin/utxo/{hash}/{index}

    5 credits per API call

    Get information about a transaction output in a transaction and check whether this output is a UTXO or has been spent.

    "UTXO" stands for "Unspent Transaction Output". A UTXO is the amount of LTC that remains at a Litecoin address after a cryptocurrency transaction involving this address has been performed. The UTXO can then be used as input for a new cryptocurrency transaction. For more information the UTXO, see the Bitcoin user documentation.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK. - [JSON RPC HTTP driver](https://docs.tatum.io/reference/ltcrpcdriver.md):

    /v3/litecoin/node

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based JSON RPC driver to connect directly to the node provided by Tatum.

    - [Send LTC to Litecoin addresses](https://docs.tatum.io/reference/ltctransferblockchain.md):

    /v3/litecoin/transaction

    10 credits per API call

    Send LTC to blockchain addresses.

    Litecoin transactions are based on UTXOs. "UTXO" stands for "Unspent Transaction Output". A UTXO is the amount of LTC that remains at a Litecoin address after a cryptocurrency transaction involving this address has been performed. The UTXO can then be used as input for a new cryptocurrency transaction. For more information about the UTXO, see the Bitcoin user documentation. To check UTXOs in a transaction, see the API for getting information about a transaction output (UTXO) in a Litecoin transaction.

    You can build a LTC transaction by one of the following methods:

    When an UTXO is entered into a transaction, the whole UTXO amount is included and must be spent. For example, address A receives two transactions, T1 with 1 LTC and T2 with 2 LTC. A transaction that consumes the UTXOs from both T1 and T2 will have an available amount of 3 LTC to spend:
    1 LTC (from T1) + 2 LTC (from T2) = 3 LTC (to spend in total)

    You can send the assets to one or multiple recipients in one transaction. If you send the assets to multiple addresses, each address must have its own amount to receive.

    Paying the gas fee and receiving the change
    When the amount that the recipients should receive is lower than the amount from the UTXOs, the difference between these two amounts is by default used as the gas fee for the transaction. Because this amount may be considerable and you may not want to spend it all on the gas fee, you can explicitly specify the fee amount and the blockchain address where any extra funds remaining after covering the fee will be sent (the fee and changeAddress parameters in the request body, correspondingly).

    Signing a transaction
    When sending LTC, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.


    Examples of using this endpoint with the Tatum JS SDK can be found in Tatum LTC SDK. - [createrawtransaction](https://docs.tatum.io/reference/rpc-litecoin-createrawtransaction.md): Litecoin RPC - [decoderawtransaction](https://docs.tatum.io/reference/rpc-litecoin-decoderawtransaction.md): Litecoin RPC - [decodescript](https://docs.tatum.io/reference/rpc-litecoin-decodescript.md): Litecoin RPC - [estimatesmartfee](https://docs.tatum.io/reference/rpc-litecoin-estimatesmartfee.md): Litecoin RPC - [getbestblockhash](https://docs.tatum.io/reference/rpc-litecoin-getbestblockhash.md): Litecoin RPC - [getblock](https://docs.tatum.io/reference/rpc-litecoin-getblock.md): Litecoin RPC - [getblockchaininfo](https://docs.tatum.io/reference/rpc-litecoin-getblockchaininfo.md): Litecoin RPC - [getblockcount](https://docs.tatum.io/reference/rpc-litecoin-getblockcount.md): Litecoin RPC - [getblockhash](https://docs.tatum.io/reference/rpc-litecoin-getblockhash.md): Litecoin RPC - [getblockheader](https://docs.tatum.io/reference/rpc-litecoin-getblockheader.md): Litecoin RPC - [getblockstats](https://docs.tatum.io/reference/rpc-litecoin-getblockstats.md): Litecoin RPC - [getchaintips](https://docs.tatum.io/reference/rpc-litecoin-getchaintips.md): Litecoin RPC - [getdifficulty](https://docs.tatum.io/reference/rpc-litecoin-getdifficulty.md): Litecoin RPC - [getmempoolancestors](https://docs.tatum.io/reference/rpc-litecoin-getmempoolancestors.md): Litecoin RPC - [getmempooldescendants](https://docs.tatum.io/reference/rpc-litecoin-getmempooldescendants.md): Litecoin RPC - [getmempoolentry](https://docs.tatum.io/reference/rpc-litecoin-getmempoolentry.md): Litecoin RPC - [getmempoolinfo](https://docs.tatum.io/reference/rpc-litecoin-getmempoolinfo.md): Litecoin RPC - [getrawmempool](https://docs.tatum.io/reference/rpc-litecoin-getrawmempool.md): Litecoin RPC - [getrawtransaction](https://docs.tatum.io/reference/rpc-litecoin-getrawtransaction.md): Litecoin RPC - [gettxout](https://docs.tatum.io/reference/rpc-litecoin-gettxout.md): Litecoin RPC - [gettxoutproof](https://docs.tatum.io/reference/rpc-litecoin-gettxoutproof.md): Litecoin RPC - [sendrawtransaction](https://docs.tatum.io/reference/rpc-litecoin-sendrawtransaction.md): Litecoin RPC - [validateaddress](https://docs.tatum.io/reference/rpc-litecoin-validateaddress.md): Litecoin RPC - [verifymessage](https://docs.tatum.io/reference/rpc-litecoin-verifymessage.md): Litecoin RPC - [verifytxoutproof](https://docs.tatum.io/reference/rpc-litecoin-verifytxoutproof.md): Litecoin RPC - [Lumia](https://docs.tatum.io/reference/rpc-lumia.md): Explore Lumia Chain, a modular Layer 2 network built with Polygon CDK for tokenizing real-world assets, compliance handling, and deep liquidity via its native Lumia Stream. - [MANTRA Chain](https://docs.tatum.io/reference/rpc-mantrachain.md): Unlock Mantrachain EVM, a production-ready Ethereum-compatible Layer-1 that combines low fees, fast finality, and seamless access to regulated DeFi and tokenized real-world assets. - [MegaETH](https://docs.tatum.io/reference/rpc-megaeth.md): Explore MegaETH, an EVM-compatible Layer-2 blockchain designed for ultra-low latency, high throughput, and seamless Ethereum tooling via its JSON-RPC interface. - [Moca Chain](https://docs.tatum.io/reference/rpc-mocachain.md): Experience Moca Chain — an EVM-compatible Layer 1 built for decentralized identity, privacy, and data interoperability across Web3 - [Monacoin](https://docs.tatum.io/reference/rpc-monacoin.md): Explore Monacoin, a decentralized cryptocurrency designed for fast payments and grassroots adoption. Discover how it empowers peer-to-peer transactions through an open and community-driven blockchain. - [Monad](https://docs.tatum.io/reference/rpc-monad.md): Explore Monad, an EVM-compatible Layer-1 blockchain engineered for high throughput, fast finality, and minimal gas fees via its JSON-RPC interface. - [Moonbeam](https://docs.tatum.io/reference/rpc-moonbeam.md): Discover the Moonbeam ecosystem, featuring the Moonbeam and Moonriver smart contract parachains. Build natively interoperable applications on Polkadot and Kusama with standard Ethereum tools. - [MultiversX (Elrond)](https://docs.tatum.io/reference/rpc-multiversx.md): Explore MultiversX (formerly Elrond), a high-performance blockchain for scalable decentralized applications and enterprise solutions. - [Send EGLD from account to account](https://docs.tatum.io/reference/egldblockchaintransfer.md):

    /v3/egld/transaction

    2 credits per API call.


    Send EGLD from account to account.

    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on devnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Broadcast signed EGLD transaction](https://docs.tatum.io/reference/egldbroadcast.md):

    /v3/egld/broadcast

    2 credits per API call.


    Broadcast signed transaction to EGLD blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate EGLD account address from mnemonic](https://docs.tatum.io/reference/egldgenerateaddress.md):

    /v3/egld/address/{mnemonic}/{index}

    1 credit per API call.


    Generate EGLD account deposit address from mnemonic phrase. Deposit address is generated for the specific index - each mnemonic phrase can generate up to 2^31 addresses starting from index 0 until 2^31.

    - [Generate EGLD private key](https://docs.tatum.io/reference/egldgenerateaddressprivatekey.md):

    /v3/egld/wallet/priv

    1 credit per API call.


    Generate private key of address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^31 private keys starting from index 0 until 2^31.

    - [Generate EGLD wallet](https://docs.tatum.io/reference/egldgeneratewallet.md):

    /v3/egld/wallet

    1 credit per API call.


    The Elrond Address format is bech32, specified by the BIP 0173. The address always starts with an erd1. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for EGLD wallet with derivation path m'/44'/508'/0'/0'. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible EGLD wallet.

    - [Get EGLD Account balance](https://docs.tatum.io/reference/egldgetbalance.md):

    ⚠️ Deprecated: Get Balance


    GET /v3/egld/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Fetch the balance of a blockchain address, including native and fungible tokens.


    Explore Docs →

    /v3/egld/account/balance/{address}

    1 credit per API call.


    Get account balance in EGLD.

    - [Get EGLD block by hash](https://docs.tatum.io/reference/egldgetblock.md):

    ⚠️ Deprecated: Get Block


    GET /v3/egld/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch a specific block from the blockchain by providing the block hash or block number.


    Explore Docs →

    /v3/egld/block/{hash}

    1 credit per API call.


    Get EGLD block by block hash or block number. EGLD docs

    - [Get current block number](https://docs.tatum.io/reference/egldgetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block


    GET /v3/egld/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Fetch the current block in the blockchain. This endpoint returns the latest block number available.


    Explore Docs →

    /v3/egld/block/current

    1 credit per API call.


    Get EGLD current block number. This is the number of the latest block in the blockchain.

    - [Get EGLD Transaction](https://docs.tatum.io/reference/egldgettransaction.md):

    ⚠️ Deprecated: Get Transaction


    GET /v3/egld/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch a specific transaction from the blockchain by providing the transaction hash.


    Explore Docs →

    /v3/egld/transaction/{hash}

    1 credit per API call.


    Get EGLD transaction by transaction hash. Detail result please find here EGLD docs

    - [Get count of outgoing EGLD transactions](https://docs.tatum.io/reference/egldgettransactionaddress.md):

    /v3/egld/transaction/address/{address}

    1 credit per API call.


    This endpoint allows one to retrieve the latest 20 transactions sent from an address.

    - [Get count of outgoing EGLD transactions](https://docs.tatum.io/reference/egldgettransactioncount.md):

    ⚠️ Deprecated: Get Transaction Count


    GET /v3/egld/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Fetch the count of transactions for a blockchain address.


    Explore Docs →

    /v3/egld/transaction/count/{address}

    1 credit per API call.


    Get a number of outgoing EGLD transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Node HTTP driver](https://docs.tatum.io/reference/egldnodeget.md):

    /v3/egld/node/{xApiKey}/*

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based driver to connect directly to the EGLD node provided by Tatum. To learn more about EGLD, visit the EGLD developer's guide.

    - [Node HTTP driver](https://docs.tatum.io/reference/egldnodepost.md):

    /v3/egld/node/{xApiKey}/*

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based driver to connect directly to the EGLD node provided by Tatum. To learn more about EGLD, visit the EGLD developer's guide.

    - [Near](https://docs.tatum.io/reference/rpc-near.md): Explore NEAR, a blockchain platform built for fast and low-cost transactions. Build user-friendly decentralized applications using its RPC gateway. - [account_changes - Near](https://docs.tatum.io/reference/rpc-near-account_changes.md): Returns account changes from transactions in a given account. - [block - Near](https://docs.tatum.io/reference/rpc-near-block.md): Queries network and returns block for given height or hash. You can also use finality param to return latest block details. - [call_function - Near](https://docs.tatum.io/reference/rpc-near-call_function.md): Allows you to call a contract method as a view function. - [changes_in_block - Near](https://docs.tatum.io/reference/rpc-near-changes_in_block.md): Returns changes in block for given block height or hash. You can also use finality param to return latest block details. - [chunk - Near](https://docs.tatum.io/reference/rpc-near-chunk.md): Returns details of a specific chunk. You can run a block details query to get a valid chunk hash. - [contract_code_changes - Near](https://docs.tatum.io/reference/rpc-near-contract_code_changes.md): Returns code changes made when deploying a contract. Change is returned is a base64 encoded WASM file. - [data_changes - Near](https://docs.tatum.io/reference/rpc-near-data_changes.md): Returns account changes from transactions in a given account. - [gas_price - Near](https://docs.tatum.io/reference/rpc-near-gas_price.md): Returns gas price for a specific block_height or block_hash. - [genesis_config - Near](https://docs.tatum.io/reference/rpc-near-genesis_config.md): Returns current genesis configuration. - [network_info - Near](https://docs.tatum.io/reference/rpc-near-network_info.md): Returns the current state of node network connections (active peers, transmitted data, etc.) - [receipt - Near](https://docs.tatum.io/reference/rpc-near-receipt.md): Fetches a receipt by its ID (as is, without a status or execution outcome) - [send_tx - Near](https://docs.tatum.io/reference/rpc-near-send_tx.md): Sends transaction. Returns the guaranteed execution status and the results the blockchain can provide at the moment. - [status - Near](https://docs.tatum.io/reference/rpc-near-status.md): Returns general status of a given node (sync status, nearcore node version, protocol version, etc.), and the current set of validators. - [tx_status - Near](https://docs.tatum.io/reference/rpc-near-tx_status.md): Queries status of a transaction by hash, returning the final transaction result and details of all receipts. - [tx - Near](https://docs.tatum.io/reference/rpc-near-tx.md): Queries status of a transaction by hash and returns the final transaction result. - [view_access_key_changes - Near](https://docs.tatum.io/reference/rpc-near-view_access_key_changes.md): Returns access key changes in a specific block. - [view_access_key - Near](https://docs.tatum.io/reference/rpc-near-view_access_key.md): Returns information about a single access key for given account. - [view_account - Near](https://docs.tatum.io/reference/rpc-near-view_account.md): Returns basic account information. - [view_code - Near](https://docs.tatum.io/reference/rpc-near-view_code.md): Returns the contract code (Wasm binary) deployed to the account. Please note that the returned code will be encoded in base64. - [view_state - Near](https://docs.tatum.io/reference/rpc-near-view_state.md): Returns the state (key value pairs) of a contract based on the key prefix (base64 encoded). Pass an empty string for prefix_base64 if you would like to return the entire state. Please note that the returned state will be base64 encoded as well. - [Oasis](https://docs.tatum.io/reference/rpc-oasis.md): Discover Oasis, a privacy-focused blockchain platform optimized for scalable and confidential decentralized applications. - [Optimism](https://docs.tatum.io/reference/rpc-optimism.md): Explore Optimism, a Layer 2 scaling solution for Ethereum. Build fast and low-cost decentralized applications using its RPC gateway. - [Invoke a method in a smart contract on Optimism](https://docs.tatum.io/reference/optimismblockchainsmartcontractinvocation.md):

    /v3/optimism/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on Optimism.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    If caller field is present instead of the private key, Tatum will sign the transaction with the managed private key connected to the caller address. This is applicable only for paid mainnet plans and all testnet plans. Keep in mind that the caller address must have enough access right to perform the action in the smart contract method.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Send OPTIMISM or fungible tokens (ERC-20) from account to account](https://docs.tatum.io/reference/optimismblockchaintransfer.md):

    /v3/optimism/transaction

    2 credits per API call

    Send OPTIMISM or Tatum-supported fungible tokens (ERC-20) from account to account.

    NOTE: Sending the fungible tokens is supported only on the mainnet.

    Signing a transaction
    When sending OPTIMISM, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Broadcast signed Optimism transaction](https://docs.tatum.io/reference/optimismbroadcast.md):

    /v3/optimism/broadcast

    2 credits per API call

    Broadcast signed transaction to Optimism blockchain.

    - [Generate Optimism account address from Extended public key](https://docs.tatum.io/reference/optimismgenerateaddress.md):

    /v3/optimism/address/{xpub}/{index}

    1 credit per API call.


    Generates an Optimism account deposit address from an Extended public key. The deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate Optimism private key](https://docs.tatum.io/reference/optimismgenerateaddressprivatekey.md):

    /v3/optimism/wallet/priv

    1 credit per API call.


    Generates the private key of an address from a mnemonic for a given derivation path index. The private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Optimism wallet](https://docs.tatum.io/reference/optimismgeneratewallet.md):

    /v3/optimism/wallet

    1 credit per API call.


    Tatum supports BIP44 HD wallets. Because they can generate 2^31 addresses from 1 mnemonic phrase, they are very convenient and secure. A mnemonic phrase consists of 24 special words in a defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows the BIP44 specification and generates for Optimism wallets with the derivation path m/44'/60'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generates a BIP44 compatible Optimism wallet.

    - [Get the OPTIMISM balance of an Optimism account](https://docs.tatum.io/reference/optimismgetbalance.md):

    ⚠️ Deprecated: Get Balance


    GET /v3/optimism/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Fetch the balance of a blockchain address, including native and fungible tokens.


    Explore Docs →

    /v3/optimism/account/balance/{address}

    1 credit per API call

    Get the balance of OPTIMISM of an Optimism account.

    To get the balance of tokens, use the APIs for getting the balance of fungible tokens (ERC-20) and NFTs (ERC-721).

    - [Get Optimism block by hash](https://docs.tatum.io/reference/optimismgetblock.md):

    ⚠️ Deprecated: Get Block


    GET /v3/optimism/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch a specific block from the blockchain by providing the block hash or block number.


    Explore Docs →

    /v3/optimism/block/{hash}

    1 credit per API call.


    Gets an Optimism block-by-block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/optimismgetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block


    GET /v3/optimism/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Fetch the current block in the blockchain. This endpoint returns the latest block number available.


    Explore Docs →

    /v3/optimism/block/current

    1 credit per API call.


    Gets the current Optimism block number. This is the number of the latest block in the blockchain.

    - [Get Optimism Transaction](https://docs.tatum.io/reference/optimismgettransaction.md):

    ⚠️ Deprecated: Get Transaction


    GET /v3/optimism/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch a specific transaction from the blockchain by providing the transaction hash.


    Explore Docs →

    /v3/optimism/transaction/{hash}

    1 credit per API call

    Get Optimism transaction by transaction hash.

    - [Get count of outgoing Optimism transactions](https://docs.tatum.io/reference/optimismgettransactioncount.md):

    ⚠️ Deprecated: Get Transaction Count


    GET /v3/optimism/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Fetch the count of transactions for a blockchain address.


    Explore Docs →

    /v3/optimism/transaction/count/{address}

    1 credit per API call.


    Get a number of outgoing Optimism transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/optimismweb3driver.md):

    /v3/optimism/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based web3 driver to connect directly to the Optimism node provided by Tatum. To learn more about Optimism Web3, visit the Optimism developers' guide.

    - [debug_getbadblocks](https://docs.tatum.io/reference/rpc-optimism-debug_getbadblocks.md): Optimism RPC - [debug_storagerangeat](https://docs.tatum.io/reference/rpc-optimism-debug_storagerangeat.md): Optimism RPC - [debug_traceblock](https://docs.tatum.io/reference/rpc-optimism-debug_traceblock.md): Optimism RPC - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-optimism-debug_traceblockbyhash.md): Optimism RPC - [debug_traceblockbynumber](https://docs.tatum.io/reference/rpc-optimism-debug_traceblockbynumber.md): Optimism RPC - [debug_tracecall](https://docs.tatum.io/reference/rpc-optimism-debug_tracecall.md): Optimism RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-optimism-debug_tracetransaction.md): Optimism RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-optimism-eth_blocknumber.md): Optimism RPC - [eth_call](https://docs.tatum.io/reference/rpc-optimism-eth_call.md): Optimism RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-optimism-eth_chainid.md): Optimism RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-optimism-eth_estimategas.md): Optimism RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-optimism-eth_feehistory.md): Optimism RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-optimism-eth_gasprice.md): Optimism RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-optimism-eth_getbalance.md): Optimism RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-optimism-eth_getblockbyhash.md): Optimism RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-optimism-eth_getblockbynumber.md): Optimism RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-optimism-eth_getblocktransactioncountbyhash.md): Optimism RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-optimism-eth_getblocktransactioncountbynumber.md): Optimism RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-optimism-eth_getcode.md): Optimism RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-optimism-eth_getlogs.md): Optimism RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-optimism-eth_getproof.md): Optimism RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-optimism-eth_getstorageat.md): Optimism RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-optimism-eth_gettransactionbyblockhashandindex.md): Optimism RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-optimism-eth_gettransactionbyblocknumberandindex.md): Optimism RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-optimism-eth_gettransactionbyhash.md): Optimism RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-optimism-eth_gettransactioncount.md): Optimism RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-optimism-eth_gettransactionreceipt.md): Optimism RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-optimism-eth_getunclecountbyblockhash.md): Optimism RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-optimism-eth_getunclecountbyblocknumber.md): Optimism RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-optimism-eth_maxpriorityfeepergas.md): Optimism RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-optimism-eth_sendrawtransaction.md): Optimism RPC - [txpool_content](https://docs.tatum.io/reference/rpc-optimism-txpool_content.md): Optimism RPC - [txpool_inspect](https://docs.tatum.io/reference/rpc-optimism-txpool_inspect.md): Optimism RPC - [txpool_status](https://docs.tatum.io/reference/rpc-optimism-txpool_status.md): Optimism RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-optimism-web3_clientversion.md): Optimism RPC - [Plasma](https://docs.tatum.io/reference/rpc-plasma.md): Discover Plasma, a high-performance blockchain optimized for DeFi and scalable decentralized applications. Harness its RPC gateway to build fast, secure, and low-cost financial solutions. - [Plume](https://docs.tatum.io/reference/rpc-plume.md): Discover Plume, the first modular L2 blockchain dedicated to Real World Assets (RWA). Build compliant, high-performance decentralized applications that bridge traditional finance with the crypto ecosystem. - [Polkadot Asset Hub](https://docs.tatum.io/reference/rpc-polkadot-assethub.md): Explore Polkadot Asset Hub, the system parachain for issuing, managing, and transferring assets and NFTs within the Polkadot ecosystem. - [Polkadot](https://docs.tatum.io/reference/rpc-polkadot.md): Explore Polkadot, a scalable, interoperable blockchain platform powering a network of parachains and enabling next-generation decentralized applications. - [Polygon](https://docs.tatum.io/reference/rpc-polygon.md): Explore Polygon, a Layer 2 scaling solution for Ethereum. Build scalable and low-cost decentralized applications using its RPC gateway. - [Invoke a method in a smart contract on Polygon](https://docs.tatum.io/reference/polygonblockchainsmartcontractinvocation.md):

    /v3/polygon/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on Polygon.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    If caller field is present instead of the private key, Tatum will sign the transaction with the managed private key connected to the caller address. This is applicable only for paid mainnet plans and all testnet plans. Keep in mind that the caller address must have enough access right to perform the action in the smart contract method.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send MATIC from account to account](https://docs.tatum.io/reference/polygonblockchaintransfer.md):

    /v3/polygon/transaction

    2 credits per API call

    Send MATIC from account to account.

    Signing a transaction

    When sending MATIC, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Broadcast signed Polygon transaction](https://docs.tatum.io/reference/polygonbroadcast.md):

    /v3/polygon/broadcast

    2 credits per API call

    Broadcast signed transaction to Polygon blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate Polygon account address from Extended public key](https://docs.tatum.io/reference/polygongenerateaddress.md):

    /v3/polygon/address/{xpub}/{index}

    1 credit per API call

    Generate Polygon account deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31.

    - [Generate Polygon private key](https://docs.tatum.io/reference/polygongenerateaddressprivatekey.md):

    /v3/polygon/wallet/priv

    1 credit per API call

    Generate private key of address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^31 private keys starting from index 0 until 2^31.

    - [Generate Polygon wallet](https://docs.tatum.io/reference/polygongeneratewallet.md):

    /v3/polygon/wallet

    1 credit per API call

    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for Polygon wallet with derivation path m'/44'/966'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Polygon wallet.

    - [Get Polygon Account balance](https://docs.tatum.io/reference/polygongetbalance.md):

    ⚠️ Deprecated: Get Balance


    GET /v3/polygon/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Fetch the balance of a blockchain address, including native and fungible tokens.


    Explore Docs →

    /v3/polygon/account/balance/{address}

    1 credit per API call

    Get Polygon account balance in MATIC. This method does not prints any balance of the ERC20 or ERC721 tokens on the account.

    - [Get Polygon block by hash](https://docs.tatum.io/reference/polygongetblock.md):

    ⚠️ Deprecated: Get Block


    GET /v3/polygon/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch a specific block from the blockchain by providing the block hash or block number.


    Explore Docs →

    /v3/polygon/block/{hash}

    1 credit per API call

    Get Polygon block by block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/polygongetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block


    GET /v3/polygon/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Fetch the current block in the blockchain. This endpoint returns the latest block number available.


    Explore Docs →

    /v3/polygon/block/current

    1 credit per API call

    Get Polygon current block number. This is the number of the latest block in the blockchain.

    - [Get Polygon Transaction](https://docs.tatum.io/reference/polygongettransaction.md):

    ⚠️ Deprecated: Get Transaction


    GET /v3/polygon/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch a specific transaction from the blockchain by providing the transaction hash.


    Explore Docs →

    /v3/polygon/transaction/{hash}

    2 credits per API call

    Get Polygon transaction by transaction hash.

    - [Get Polygon transactions by address](https://docs.tatum.io/reference/polygongettransactionbyaddress.md):

    /v3/polygon/account/transaction/{address}

    This endpoint is deprecated. Do not use it.

    20 credit per API call

    Get Polygon transactions by address. This includes incoming and outgoing transactions for the address.

    - [Get count of outgoing Polygon transactions](https://docs.tatum.io/reference/polygongettransactioncount.md):

    ⚠️ Deprecated: Get Transaction Count


    GET /v3/polygon/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Fetch the count of transactions for a blockchain address.


    Explore Docs →

    /v3/polygon/transaction/count/{address}

    1 credit per API call

    Get a number of outgoing Polygon transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/polygonweb3driver.md):

    /v3/polygon/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based web3 driver to connect directly to the Polygon node provided by Tatum. To learn more about Polygon Web3, visit the Polygon developer's guide.

    - [debug_storagerangeat](https://docs.tatum.io/reference/rpc-polygon-debug_storagerangeat.md): Polygon RPC - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-polygon-debug_traceblockbyhash.md): Polygon RPC - [debug_tracecall](https://docs.tatum.io/reference/rpc-polygon-debug_tracecall.md): Polygon RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-polygon-debug_tracetransaction.md): Polygon RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-polygon-eth_blocknumber.md): Polygon RPC - [eth_call](https://docs.tatum.io/reference/rpc-polygon-eth_call.md): Polygon RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-polygon-eth_chainid.md): Polygon RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-polygon-eth_estimategas.md): Polygon RPC - [eth_feeHistory](https://docs.tatum.io/reference/rpc-polygon-eth_feehistory-1.md): Polygon RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-polygon-eth_feehistory.md): Polygon RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-polygon-eth_gasprice.md): Polygon RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-polygon-eth_getbalance.md): Polygon RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-polygon-eth_getblockbyhash.md): Polygon RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-polygon-eth_getblockbynumber.md): Polygon RPC - [eth_getblockreceipts](https://docs.tatum.io/reference/rpc-polygon-eth_getblockreceipts.md): Polygon RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-polygon-eth_getblocktransactioncountbyhash.md): Polygon RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-polygon-eth_getblocktransactioncountbynumber.md): Polygon RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-polygon-eth_getcode.md): Polygon RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-polygon-eth_getlogs.md): Polygon RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-polygon-eth_getproof.md): Polygon RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-polygon-eth_getstorageat.md): Polygon RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-polygon-eth_gettransactionbyblockhashandindex.md): Polygon RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-polygon-eth_gettransactionbyblocknumberandindex.md): Polygon RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-polygon-eth_gettransactionbyhash.md): Polygon RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-polygon-eth_gettransactioncount.md): Polygon RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-polygon-eth_gettransactionreceipt.md): Polygon RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-polygon-eth_getunclecountbyblockhash.md): Polygon RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-polygon-eth_getunclecountbyblocknumber.md): Polygon RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-polygon-eth_maxpriorityfeepergas.md): Polygon RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-polygon-eth_sendrawtransaction.md): Polygon RPC - [txpool_content](https://docs.tatum.io/reference/rpc-polygon-txpool_content.md): Polygon RPC - [txpool_inspect](https://docs.tatum.io/reference/rpc-polygon-txpool_inspect.md): Polygon RPC - [txpool_status](https://docs.tatum.io/reference/rpc-polygon-txpool_status.md): Polygon RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-polygon-web3_clientversion.md): Polygon RPC - [Ronin](https://docs.tatum.io/reference/rpc-ronin.md): Explore Ronin, a sidechain purpose-built for Axie Infinity. Enjoy fast, low-cost transactions for gaming and NFT applications. - [debug_storageRangeAt - Ronin](https://docs.tatum.io/reference/rpc-ronin-debug_storagerangeat.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_storageRangeAt** is an RPC method that allows you to retrieve the contract storage range for a given block and address. This can be useful for developers and auditors who want to inspect the storage state of a specific contract at a particular point in time. This method can also help in debugging and identifying potential issues with contract storage, as well as understanding how storage evolves as transactions are executed. - [debug_traceBlockByHash - Ronin](https://docs.tatum.io/reference/rpc-ronin-debug_traceblockbyhash.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceBlockByHash** method allows developers to trace the execution of transactions within a block specified by its hash. This method is particularly useful for debugging purposes, as it provides detailed information about the execution of each transaction within the block, including the type of call, the addresses involved, the value transferred, the gas used, the input data, the output data, and any sub-calls made during the transaction. - [debug_traceBlockByNumber - Ronin](https://docs.tatum.io/reference/rpc-ronin-debug_traceblockbynumber.md): Replays the block that is already present in the database. - [debug_traceCall - Ronin](https://docs.tatum.io/reference/rpc-ronin-debug_tracecall.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceCall** is an Ronin RPC method that allows you to execute a given call (message), tracing the steps of its execution. This can be helpful for developers and auditors who want to inspect and analyze the internal operations and state changes of a contract call without modifying the blockchain state. This method can assist in debugging and identifying potential issues with contract execution, as well as understanding how gas is consumed during the execution of a call. - [debug_traceTransaction - Ronin](https://docs.tatum.io/reference/rpc-ronin-debug_tracetransaction.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceTransaction** RPC method is utilized to trace the execution of a transaction on the Ronin blockchain. This method is highly beneficial for debugging purposes, as it furnishes comprehensive details regarding the transaction's execution. These details include the type of call, the involved addresses, the transferred value, the gas consumption, the input and output data, any encountered errors, and reasons for reverts if applicable. Moreover, it can enumerate sub-calls made during the transaction's execution. - [eth_blockNumber - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_blocknumber.md): The **eth_blockNumber** method is part of the Ronin JSON-RPC API, which is used to interact with the Ronin blockchain. This method is particularly useful for various use cases within the blockchain ecosystem, including but not limited to: Monitoring Blockchain Health: By regularly checking the latest block number, developers can monitor the health and activity of the Ronin blockchain. This can be crucial for applications that rely on the blockchain for their operations, as it helps in identifying any potential issues or delays in block production. Synchronization Checks: For applications that interact with the Ronin blockchain, knowing the latest block number can be essential for synchronization purposes. It helps in ensuring that the application's data is up-to-date with the blockchain's state. Transaction Verification: When submitting transactions to the blockchain, knowing the current block number can be useful for setting appropriate gas prices and for verifying transaction confirmations. - [eth_call - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_call.md): The **eth_call** method in Ronin's JSON-RPC API is used to execute a new message call immediately without creating a transaction on the blockchain. This method is particularly useful for testing and debugging smart contracts, as it allows developers to simulate the execution of contract methods without actually sending transactions to the network. This can help in identifying issues or understanding the behavior of contracts without incurring any gas costs or affecting the blockchain state. Please check the common use cases: Testing Smart Contracts: Before deploying a smart contract, developers can use eth_call to test its functionality and ensure it behaves as expected. Debugging: It can be used to debug smart contracts by simulating transactions and observing the state changes or return values without affecting the live contract. Estimating Gas Costs: Although eth_call does not actually send a transaction, it can be used to estimate the gas costs of a transaction by simulating its execution. - [eth_chainId - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_chainid.md): The **eth_chainId** method is part of the Ronin JSON-RPC API, specifically designed to return the current network or chain ID. This method is crucial for ensuring the uniqueness of transactions across different Ronin networks, as it helps in preventing replay attacks by distinguishing between transactions intended for different networks. The chain ID was introduced as part of EIP-155 to address the issue of transaction replay attacks across different Ronin networks. - [eth_estimateGas - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_estimategas.md): The **eth_estimateGas** method in Ronin's JSON-RPC API is used to estimate the amount of gas that would be required to execute a transaction without actually sending it. This method is particularly useful for determining the appropriate gas limit for a transaction before it is submitted to the network, helping to avoid out-of-gas errors and ensuring that transactions are processed efficiently. - [eth_feeHistory - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_feehistory.md): The **eth_feeHistory** retrieves historical gas fee data, providing insights into gas price trends and block utilization over time. This method is valuable for estimating transaction fees and understanding network congestion. - [eth_gasPrice - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_gasprice.md): The **eth_gasPrice** method is part of the Ronin JSON-RPC API, which is used to interact with the Ronin blockchain. This method specifically returns the current gas price on the Ronin network in wei. Wei is the smallest denomination of ether, the cryptocurrency used on the Ronin network. The gas price is a critical parameter for transactions on the Ronin network, as it determines how much a transaction is willing to pay per unit of gas, which is a measure of computational effort. - [eth_getBalance - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_getbalance.md): The **eth_getBalance** method is an Ronin JSON-RPC method that allows you to retrieve the Ether balance of a specified address. This method can be used to query the balance of any Ronin address, whether it is a contract or an externally owned account (EOA). A common use case for this method is to display the current balance of a user's account in a wallet application or a decentralised application (DApp). - [eth_getBlockByHash - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_getblockbyhash.md): The **eth_getBlockByHash** is an Ronin JSON-RPC method that allows developers to query a specific block in the Ronin blockchain by its block hash. This method can be used in various scenarios, such as analysing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockByNumber - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_getblockbynumber.md): The **eth_getBlockByNumber** is an Ronin JSON-RPC method that allows developers to query a specific block in the Ronin blockchain by its block number. This method can be used in various scenarios, such as analyzing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockTransactionCountByHash - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_getblocktransactioncountbyhash.md): The **eth_getBlockTransactionCountByHash** is an Ronin RPC method used to fetch the number of transactions in a block by the block's hash. It is useful when you want to know the total number of transactions included in a specific block and don't want to retrieve the entire block data. This method can be used in various scenarios, such as monitoring the network activity or estimating transaction confirmation times. - [eth_getBlockTransactionCountByNumber - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_getblocktransactioncountbynumber.md): The **eth_getBlockTransactionCountByNumber** Ronin JSON-RPC method allows you to retrieve the number of transactions in a specified block. This method is particularly useful when you need to analyze the transaction activity of a specific block. You can use it to gain insights into network usage, analyze the impact of specific events on the Ronin network, or monitor transaction congestion in certain blocks. - [eth_getCode - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_getcode.md): The **eth_getCode** method is part of the Ronin JSON-RPC API and is used to retrieve the contract code (bytecode) of an account at a specific block number. This method is particularly useful for developers who need to examine the bytecode of a deployed contract, verify the integrity of a deployed contract, analyze contract bytecode for security vulnerabilities, or debug a smart contract. - [eth_getLogs - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_getlogs.md): The eth_getLogs method is an Ronin JSON-RPC method that allows developers to query logs generated by the Ronin network, specifically event logs emitted by smart contracts. These logs are an essential part of the Ronin ecosystem as they provide a way for developers to monitor contract events and track contract state changes. This method is particularly useful when building decentralized applications (dApps) that rely on events emitted by smart contracts, as it enables developers to retrieve logs based on specific filter criteria. By using eth_getLogs, developers can efficiently track and react to events happening on the Ronin blockchain. - [eth_getProof - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_getproof.md): The **eth_getProof** is an Ronin JSON-RPC method that retrieves the Merkle-Patricia proof for an account, storage key-value pairs, and account transaction count. It allows developers to verify the state of an account or storage value at a specific block without needing the entire Ronin state trie. This method is particularly useful for light clients or off-chain applications that require proof of an account's state or specific storage values. - [eth_getStorageAt - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_getstorageat.md): The **eth_getStorageAt** is an Ronin JSON-RPC method that allows you to query the storage value of a contract at a given position. It can be used to inspect the internal state of a smart contract. This method is particularly useful for developers, auditors, and analysts who want to examine contract storage values for various purposes, such as debugging, verifying contract behavior, or analyzing data. - [eth_getTransactionByBlockHashAndIndex - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_gettransactionbyblockhashandindex.md): The **eth_getTransactionByBlockHashAndIndex** is an Ronin JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByBlockNumberAndIndex - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_gettransactionbyblocknumberandindex.md): The eth_getTransactionByBlockHashAndIndex is an Ronin JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByHash - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_gettransactionbyhash.md): The **eth_getTransactionByHash** is an Ronin JSON-RPC method that allows you to query transaction details based on its hash. This method is useful when you want to retrieve information about a specific transaction, such as its sender, receiver, value, and more. Common use cases include tracking transaction status, monitoring incoming transactions, or analyzing historical transaction data. - [eth_getTransactionCount - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_gettransactioncount.md): The **eth_getTransactionCount** method is an Ronin JSON-RPC method that retrieves the number of transactions sent from a given address. It is a useful method for developers who need to keep track of an account's nonce value to avoid transaction collisions or incorrect order of execution. The nonce value is essential for ensuring transaction uniqueness and preventing replay attacks. - [eth_getTransactionReceipt - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_gettransactionreceipt.md): The **eth_getTransactionReceipt** is an Ronin JSON-RPC method that retrieves the transaction receipt of a given transaction hash. This method is particularly useful when you need to obtain detailed information about a transaction's execution, such as its status (success or failure), gas usage, and logs (events). Common use cases include checking the status of a transaction after it has been mined or inspecting the events emitted by a smart contract during a specific transaction. - [eth_getUncleCountByBlockHash - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_getunclecountbyblockhash.md): The **eth_getUncleCountByBlockHash** method is an Ronin JSON-RPC method that returns the number of uncles in a specified block by its hash. This method can be useful for gathering information about the performance of the Ronin network and to analyse the security of the blockchain. Uncles are blocks that are not included in the main blockchain but are still valid, and they contribute to the overall security and decentralisation of the Ronin network. The inclusion of uncles helps prevent centralisation and ensures the mining process remains competitive. - [eth_getUncleCountByBlockNumber - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_getunclecountbyblocknumber.md): The **eth_getUncleCountByBlockNumber** is an Ronin JSON-RPC method that allows you to fetch the number of uncles in a block based on the block number. This method can be useful when you want to retrieve the number of uncles in a block without knowing the block hash. - [eth_maxPriorityFeePerGas - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_maxpriorityfeepergas.md): The **eth_maxPriorityFeePerGas** RPC method is specifically designed to return the maximum priority fee per gas that is needed to be included in a block. This method is crucial for developers and users interacting with the Ronin network, as it provides insights into the current gas fees required for transactions to be processed efficiently. - [eth_sendRawTransaction - Ronin](https://docs.tatum.io/reference/rpc-ronin-eth_sendrawtransaction.md): The **eth_sendRawTransaction** RPC method is used to facilitate the transmission of a signed and serialized Ronin transaction onto the network. This approach proves invaluable when seeking complete oversight of the signing procedure, especially when employing hardware wallets, cold storage solutions, or custom signing libraries. Its versatility shines through in multiple scenarios, including Ether transfers, smart contract interactions, and contract deployments. - [web3_clientVersion - Ronin](https://docs.tatum.io/reference/rpc-ronin-web3_clientversion.md): The **web3_clientVersion** method is part of the Ronin JSON-RPC API, specifically designed to return the current version of the Ronin client being used. This method is particularly useful for debugging or when you need to ensure compatibility with specific client versions. - [Rootstock (RSK)](https://docs.tatum.io/reference/rpc-rootstock.md): Explore Rootstock (RSK), a smart contract platform built on Bitcoin. Build decentralized applications using its RPC gateway and secure infrastructure. - [Solana](https://docs.tatum.io/reference/rpc-solana.md): Discover Solana, a high-performance blockchain optimized for decentralized finance and NFTs. Build fast and scalable dApps using its RPC gateway. - [getAccountInfo - Solana](https://docs.tatum.io/reference/rpc-solana-getaccountinfo.md): Returns all information associated with the account of provided Pubkey. - [getBalance - Solana](https://docs.tatum.io/reference/rpc-solana-getbalance.md): Returns the balance of the account of provided Pubkey. - [getBlock - Solana](https://docs.tatum.io/reference/rpc-solana-getblock.md): Returns identity and transaction information about a confirmed block in the ledger. - [getBlockCommitment - Solana](https://docs.tatum.io/reference/rpc-solana-getblockcommitment.md): Returns commitment for particular block. - [getBlockHeight - Solana](https://docs.tatum.io/reference/rpc-solana-getblockheight.md): Returns the current block height of the node. - [getBlockProduction - Solana](https://docs.tatum.io/reference/rpc-solana-getblockproduction.md): Returns recent block production information from the current or previous epoch. - [getBlocks - Solana](https://docs.tatum.io/reference/rpc-solana-getblocks.md): Returns a list of confirmed blocks between two slots. - [getBlocksWithLimit - Solana](https://docs.tatum.io/reference/rpc-solana-getblockswithlimit.md): Returns a list of confirmed blocks starting at the given slot. - [getBlockTime - Solana](https://docs.tatum.io/reference/rpc-solana-getblocktime.md): Returns the estimated production time of a block. - [getClusterNodes - Solana](https://docs.tatum.io/reference/rpc-solana-getclusternodes.md): Returns information about all the nodes participating in the cluster. - [getEpochInfo - Solana](https://docs.tatum.io/reference/rpc-solana-getepochinfo.md): Returns information about the current epoch. - [getEpochSchedule - Solana](https://docs.tatum.io/reference/rpc-solana-getepochschedule.md): Returns epoch schedule information from this cluster's genesis config. - [getFeeForMessage - Solana](https://docs.tatum.io/reference/rpc-solana-getfeeformessage.md): Get the fee the network will charge for a particular message. - [getFirstAvailableBlock - Solana](https://docs.tatum.io/reference/rpc-solana-getfirstavailableblock.md): Get the fee the network will charge for a particular message. - [getGenesisHash - Solana](https://docs.tatum.io/reference/rpc-solana-getgenesishash.md): Returns the genesis hash. - [getHealth - Solana](https://docs.tatum.io/reference/rpc-solana-gethealth.md): Returns the current health of the node. - [getHighestSnapshotSlot - Solana](https://docs.tatum.io/reference/rpc-solana-gethighestsnapshotslot.md): Returns the highest slot information that the node has snapshots for. - [getIdentity - Solana](https://docs.tatum.io/reference/rpc-solana-getidentity.md): Returns the identity pubkey for the current node. - [getInflationGovernor - Solana](https://docs.tatum.io/reference/rpc-solana-getinflationgovernor.md): Returns the current inflation governor. - [getInflationRate - Solana](https://docs.tatum.io/reference/rpc-solana-getinflationrate.md): Returns the specific inflation values for the current epoch. - [getInflationReward - Solana](https://docs.tatum.io/reference/rpc-solana-getinflationreward.md): Returns the inflation / staking reward for a list of addresses for an epoch. - [getLatestBlockhash - Solana](https://docs.tatum.io/reference/rpc-solana-getlatestblockhash.md): Returns the latest blockhash. - [getMaxRetransmitSlot - Solana](https://docs.tatum.io/reference/rpc-solana-getmaxretransmitslot.md): Get the max slot seen from retransmit stage. - [getMaxShredInsertSlot - Solana](https://docs.tatum.io/reference/rpc-solana-getmaxshredinsertslot.md): Get the max slot seen from after shred insert.. - [getMinimumBalanceForRentExemption - Solana](https://docs.tatum.io/reference/rpc-solana-getminimumbalanceforrentexemption.md): Returns minimum balance required to make account rent exempt. - [getMultipleAccounts - Solana](https://docs.tatum.io/reference/rpc-solana-getmultipleaccounts.md): Returns the account information for a list of Pubkeys. - [getProgramAccounts - Solana](https://docs.tatum.io/reference/rpc-solana-getprogramaccounts.md): Returns all accounts owned by the provided program Pubkey. - [getRecentPerformanceSamples - Solana](https://docs.tatum.io/reference/rpc-solana-getrecentperformancesamples.md): Returns a list of recent performance samples, in reverse slot order. Performance samples are taken every 60 seconds and include the number of transactions and slots that occur in a given time window. - [getRecentPrioritizationFees - Solana](https://docs.tatum.io/reference/rpc-solana-getrecentprioritizationfees.md): Returns a list of prioritization fees from recent blocks. Currently, a node's prioritization-fee cache stores data from up to 150 blocks. - [getSignaturesForAddress - Solana](https://docs.tatum.io/reference/rpc-solana-getsignaturesforaddress.md): Returns signatures for confirmed transactions that include the given address in their accountKeys list. Returns signatures backwards in time from the provided signature or most recent confirmed block. - [getSignatureStatuses - Solana](https://docs.tatum.io/reference/rpc-solana-getsignaturestatuses.md): Returns the statuses of a list of signatures. - [getSlot - Solana](https://docs.tatum.io/reference/rpc-solana-getslot.md): Returns the slot that has reached the given or default commitment level. - [getSlotLeader - Solana](https://docs.tatum.io/reference/rpc-solana-getslotleader.md): Returns the current slot leader. - [getSlotLeaders - Solana](https://docs.tatum.io/reference/rpc-solana-getslotleaders.md): Returns the slot leaders for a given slot range. - [getSupply - Solana](https://docs.tatum.io/reference/rpc-solana-getsupply.md): Returns information about the current supply. - [getTokenAccountBalance - Solana](https://docs.tatum.io/reference/rpc-solana-gettokenaccountbalance.md): Returns the token balance of an SPL Token account.. - [getTokenAccountsByOwner - Solana](https://docs.tatum.io/reference/rpc-solana-gettokenaccountsbyowner.md): Returns all SPL Token accounts by token owner. - [getTokenSupply - Solana](https://docs.tatum.io/reference/rpc-solana-gettokensupply.md): Returns the total supply of an SPL Token type. - [getTransaction - Solana](https://docs.tatum.io/reference/rpc-solana-gettransaction.md): Returns transaction details for a confirmed transaction. - [getTransactionCount - Solana](https://docs.tatum.io/reference/rpc-solana-gettransactioncount.md): Returns the current Transaction count from the ledger. - [getVersion - Solana](https://docs.tatum.io/reference/rpc-solana-getversion.md): Returns the current solana versions running on the node. - [getVoteAccounts - Solana](https://docs.tatum.io/reference/rpc-solana-getvoteaccounts.md): Returns the account info and associated stake for all the voting accounts in the current bank. - [isBlockhashValid - Solana](https://docs.tatum.io/reference/rpc-solana-isblockhashvalid.md): Returns whether a blockhash is still valid or not. - [minimumLedgerSlot - Solana](https://docs.tatum.io/reference/rpc-solana-minimumledgerslot.md): Returns the lowest slot that the node has information about in its ledger. This value may increase over time if the node is configured to purge older ledger data. - [sendTransaction - Solana](https://docs.tatum.io/reference/rpc-solana-sendtransaction.md): Submits a signed transaction to the cluster for processing. - [simulateTransaction - Solana](https://docs.tatum.io/reference/rpc-solana-simulatetransaction.md): Simulate sending a transaction. - [Solana - gRPC](https://docs.tatum.io/reference/solana-grpc.md): Solana Yellowstone gRPC enables real-time streaming of transactions, accounts, slots, and blocks without polling. - [Send SOL from account to account](https://docs.tatum.io/reference/solanablockchaintransfer.md):

    /v3/solana/transaction

    2 credits per API call.


    Send SOL from account to account.

    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Broadcast and confirm signed Solana transaction](https://docs.tatum.io/reference/solanabroadcastconfirm.md):

    /v3/solana/broadcast/confirm

    10 credits per API call.


    Broadcast signed custom transactions to Solana blockchain and waits for transaction confirmation depending on the commitment given. More information about commitment levels here

    - [Generate Solana wallet](https://docs.tatum.io/reference/solanageneratewallet.md):

    /v3/solana/wallet

    1 credit per API call.


    Generate Solana private key and account address.

    - [Get Solana Account balance](https://docs.tatum.io/reference/solanagetbalance.md):

    ⚠️ Deprecated: Get Balance


    GET /v3/solana/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Fetch the balance of a blockchain address, including native and fungible tokens.


    Explore Docs →

    /v3/solana/account/balance/{address}

    1 credit per API call.


    Get Solana account balance in SOL. This method does not prints any balance of the SPL or NFT tokens on the account.

    - [Get Solana block by number](https://docs.tatum.io/reference/solanagetblock.md):

    ⚠️ Deprecated: Get Block


    GET /v3/solana/block/{height} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch a specific block from the blockchain by providing the block hash or block number.


    Explore Docs →

    /v3/solana/block/{height}

    1 credit per API call.


    Get Solana block by block hash or block number.
    You can find full data description here - https://docs.solana.com/developing/clients/jsonrpc-api#getblock

    - [Get current block number](https://docs.tatum.io/reference/solanagetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block


    GET /v3/solana/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Fetch the current block in the blockchain. This endpoint returns the latest block number available.


    Explore Docs →

    /v3/solana/block/current

    1 credit per API call.


    Get Solana current block number. This is the number of the latest block in the blockchain.

    - [Get Solana Transaction](https://docs.tatum.io/reference/solanagettransaction.md):

    ⚠️ Deprecated: Get Transaction


    GET /v3/solana/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch a specific transaction from the blockchain by providing the transaction hash.


    Explore Docs →

    /v3/solana/transaction/{hash}

    2 credit per API call.


    Get Solana transaction by transaction hash.
    You can find full data description here - https://docs.solana.com/developing/clients/jsonrpc-api#gettransaction

    - [JSON RPC HTTP driver](https://docs.tatum.io/reference/solanaweb3driver.md):

    /v3/solana/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based JSON RPC driver to connect directly to the Solana node provided by Tatum. To learn more about Solana JSON RPC, visit the Solana developer's guide.

    - [Sonic](https://docs.tatum.io/reference/rpc-sonic.md): Discover Sonic, an EVM-compatible blockchain combining speed, incentives, and world-class infrastructure. - [debug_traceBlockByHash - Sonic](https://docs.tatum.io/reference/rpc-sonic-debug_traceblockbyhash.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceBlockByHash** method allows developers to trace the execution of transactions within a block specified by its hash. This method is particularly useful for debugging purposes, as it provides detailed information about the execution of each transaction within the block, including the type of call, the addresses involved, the value transferred, the gas used, the input data, the output data, and any sub-calls made during the transaction. - [debug_traceBlockByNumber - Sonic](https://docs.tatum.io/reference/rpc-sonic-debug_traceblockbynumber.md): Replays the block that is already present in the database. - [debug_traceCall - Sonic](https://docs.tatum.io/reference/rpc-sonic-debug_tracecall.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceCall** is an Sonic RPC method that allows you to execute a given call (message), tracing the steps of its execution. This can be helpful for developers and auditors who want to inspect and analyze the internal operations and state changes of a contract call without modifying the blockchain state. This method can assist in debugging and identifying potential issues with contract execution, as well as understanding how gas is consumed during the execution of a call. - [debug_traceTransaction - Sonic](https://docs.tatum.io/reference/rpc-sonic-debug_tracetransaction.md):
    Archive Method

    Complex queries might take longer and incur additional cost

    The **debug_traceTransaction** RPC method is utilized to trace the execution of a transaction on the Sonic blockchain. This method is highly beneficial for debugging purposes, as it furnishes comprehensive details regarding the transaction's execution. These details include the type of call, the involved addresses, the transferred value, the gas consumption, the input and output data, any encountered errors, and reasons for reverts if applicable. Moreover, it can enumerate sub-calls made during the transaction's execution. - [eth_blockNumber - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_blocknumber.md): The **eth_blockNumber** method is part of the Sonic JSON-RPC API, which is used to interact with the Sonic blockchain. This method is particularly useful for various use cases within the blockchain ecosystem, including but not limited to: Monitoring Blockchain Health: By regularly checking the latest block number, developers can monitor the health and activity of the Sonic blockchain. This can be crucial for applications that rely on the blockchain for their operations, as it helps in identifying any potential issues or delays in block production. Synchronization Checks: For applications that interact with the Sonic blockchain, knowing the latest block number can be essential for synchronization purposes. It helps in ensuring that the application's data is up-to-date with the blockchain's state. Transaction Verification: When submitting transactions to the blockchain, knowing the current block number can be useful for setting appropriate gas prices and for verifying transaction confirmations. - [eth_call - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_call.md): The **eth_call** method in Sonic's JSON-RPC API is used to execute a new message call immediately without creating a transaction on the blockchain. This method is particularly useful for testing and debugging smart contracts, as it allows developers to simulate the execution of contract methods without actually sending transactions to the network. This can help in identifying issues or understanding the behavior of contracts without incurring any gas costs or affecting the blockchain state. Please check the common use cases: Testing Smart Contracts: Before deploying a smart contract, developers can use eth_call to test its functionality and ensure it behaves as expected. Debugging: It can be used to debug smart contracts by simulating transactions and observing the state changes or return values without affecting the live contract. Estimating Gas Costs: Although eth_call does not actually send a transaction, it can be used to estimate the gas costs of a transaction by simulating its execution. - [eth_chainId - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_chainid.md): The **eth_chainId** method is part of the Sonic JSON-RPC API, specifically designed to return the current network or chain ID. This method is crucial for ensuring the uniqueness of transactions across different Sonic networks, as it helps in preventing replay attacks by distinguishing between transactions intended for different networks. The chain ID was introduced as part of EIP-155 to address the issue of transaction replay attacks across different Sonic networks. - [eth_estimateGas - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_estimategas.md): The **eth_estimateGas** method in Sonic's JSON-RPC API is used to estimate the amount of gas that would be required to execute a transaction without actually sending it. This method is particularly useful for determining the appropriate gas limit for a transaction before it is submitted to the network, helping to avoid out-of-gas errors and ensuring that transactions are processed efficiently. - [eth_feeHistory - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_feehistory.md): The **eth_feeHistory** retrieves historical gas fee data, providing insights into gas price trends and block utilization over time. This method is valuable for estimating transaction fees and understanding network congestion. - [eth_gasPrice - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_gasprice.md): The **eth_gasPrice** method is part of the Sonic JSON-RPC API, which is used to interact with the Sonic blockchain. This method specifically returns the current gas price on the Sonic network in wei. Wei is the smallest denomination of ether, the cryptocurrency used on the Sonic network. The gas price is a critical parameter for transactions on the Sonic network, as it determines how much a transaction is willing to pay per unit of gas, which is a measure of computational effort. - [eth_getBalance - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_getbalance.md): The **eth_getBalance** method is an Sonic JSON-RPC method that allows you to retrieve the Ether balance of a specified address. This method can be used to query the balance of any Sonic address, whether it is a contract or an externally owned account (EOA). A common use case for this method is to display the current balance of a user's account in a wallet application or a decentralised application (DApp). - [eth_getBlockByHash - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_getblockbyhash.md): The **eth_getBlockByHash** is an Sonic JSON-RPC method that allows developers to query a specific block in the Sonic blockchain by its block hash. This method can be used in various scenarios, such as analysing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockByNumber - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_getblockbynumber.md): The **eth_getBlockByNumber** is an Sonic JSON-RPC method that allows developers to query a specific block in the Sonic blockchain by its block number. This method can be used in various scenarios, such as analyzing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockTransactionCountByHash - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_getblocktransactioncountbyhash.md): The **eth_getBlockTransactionCountByHash** is an Sonic RPC method used to fetch the number of transactions in a block by the block's hash. It is useful when you want to know the total number of transactions included in a specific block and don't want to retrieve the entire block data. This method can be used in various scenarios, such as monitoring the network activity or estimating transaction confirmation times. - [eth_getBlockTransactionCountByNumber - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_getblocktransactioncountbynumber.md): The **eth_getBlockTransactionCountByNumber** Sonic JSON-RPC method allows you to retrieve the number of transactions in a specified block. This method is particularly useful when you need to analyze the transaction activity of a specific block. You can use it to gain insights into network usage, analyze the impact of specific events on the Sonic network, or monitor transaction congestion in certain blocks. - [eth_getCode - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_getcode.md): The **eth_getCode** method is part of the Sonic JSON-RPC API and is used to retrieve the contract code (bytecode) of an account at a specific block number. This method is particularly useful for developers who need to examine the bytecode of a deployed contract, verify the integrity of a deployed contract, analyze contract bytecode for security vulnerabilities, or debug a smart contract. - [eth_getLogs - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_getlogs.md): The eth_getLogs method is an Sonic JSON-RPC method that allows developers to query logs generated by the Sonic network, specifically event logs emitted by smart contracts. These logs are an essential part of the Sonic ecosystem as they provide a way for developers to monitor contract events and track contract state changes. This method is particularly useful when building decentralized applications (dApps) that rely on events emitted by smart contracts, as it enables developers to retrieve logs based on specific filter criteria. By using eth_getLogs, developers can efficiently track and react to events happening on the Sonic blockchain. - [eth_getProof - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_getproof.md): The **eth_getProof** is an Sonic JSON-RPC method that retrieves the Merkle-Patricia proof for an account, storage key-value pairs, and account transaction count. It allows developers to verify the state of an account or storage value at a specific block without needing the entire Sonic state trie. This method is particularly useful for light clients or off-chain applications that require proof of an account's state or specific storage values. - [eth_getStorageAt - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_getstorageat.md): The **eth_getStorageAt** is an Sonic JSON-RPC method that allows you to query the storage value of a contract at a given position. It can be used to inspect the internal state of a smart contract. This method is particularly useful for developers, auditors, and analysts who want to examine contract storage values for various purposes, such as debugging, verifying contract behavior, or analyzing data. - [eth_getTransactionByBlockHashAndIndex - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_gettransactionbyblockhashandindex.md): The **eth_getTransactionByBlockHashAndIndex** is an Sonic JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByBlockNumberAndIndex - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_gettransactionbyblocknumberandindex.md): The eth_getTransactionByBlockHashAndIndex is an Sonic JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByHash - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_gettransactionbyhash.md): The **eth_getTransactionByHash** is an Sonic JSON-RPC method that allows you to query transaction details based on its hash. This method is useful when you want to retrieve information about a specific transaction, such as its sender, receiver, value, and more. Common use cases include tracking transaction status, monitoring incoming transactions, or analyzing historical transaction data. - [eth_getTransactionCount - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_gettransactioncount.md): The **eth_getTransactionCount** method is an Sonic JSON-RPC method that retrieves the number of transactions sent from a given address. It is a useful method for developers who need to keep track of an account's nonce value to avoid transaction collisions or incorrect order of execution. The nonce value is essential for ensuring transaction uniqueness and preventing replay attacks. - [eth_getTransactionReceipt - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_gettransactionreceipt.md): The **eth_getTransactionReceipt** is an Sonic JSON-RPC method that retrieves the transaction receipt of a given transaction hash. This method is particularly useful when you need to obtain detailed information about a transaction's execution, such as its status (success or failure), gas usage, and logs (events). Common use cases include checking the status of a transaction after it has been mined or inspecting the events emitted by a smart contract during a specific transaction. - [eth_getUncleCountByBlockHash - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_getunclecountbyblockhash.md): The **eth_getUncleCountByBlockHash** method is an Sonic JSON-RPC method that returns the number of uncles in a specified block by its hash. This method can be useful for gathering information about the performance of the Sonic network and to analyse the security of the blockchain. Uncles are blocks that are not included in the main blockchain but are still valid, and they contribute to the overall security and decentralisation of the Sonic network. The inclusion of uncles helps prevent centralisation and ensures the mining process remains competitive. - [eth_getUncleCountByBlockNumber - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_getunclecountbyblocknumber.md): The **eth_getUncleCountByBlockNumber** is an Sonic JSON-RPC method that allows you to fetch the number of uncles in a block based on the block number. This method can be useful when you want to retrieve the number of uncles in a block without knowing the block hash. - [eth_maxPriorityFeePerGas - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_maxpriorityfeepergas.md): The **eth_maxPriorityFeePerGas** RPC method is specifically designed to return the maximum priority fee per gas that is needed to be included in a block. This method is crucial for developers and users interacting with the Sonic network, as it provides insights into the current gas fees required for transactions to be processed efficiently. - [eth_sendRawTransaction - Sonic](https://docs.tatum.io/reference/rpc-sonic-eth_sendrawtransaction.md): The **eth_sendRawTransaction** RPC method is used to facilitate the transmission of a signed and serialized Sonic transaction onto the network. This approach proves invaluable when seeking complete oversight of the signing procedure, especially when employing hardware wallets, cold storage solutions, or custom signing libraries. Its versatility shines through in multiple scenarios, including Ether transfers, smart contract interactions, and contract deployments. - [web3_clientVersion - Sonic](https://docs.tatum.io/reference/rpc-sonic-web3_clientversion.md): The **web3_clientVersion** method is part of the Sonic JSON-RPC API, specifically designed to return the current version of the Sonic client being used. This method is particularly useful for debugging or when you need to ensure compatibility with specific client versions. - [Invoke a method in a smart contract on Sonic](https://docs.tatum.io/reference/sonicblockchainsmartcontractinvocation.md):

    2 credits per API call

    Invoke a method in an existing smart contract on Sonic.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    If caller field is present instead of the private key, Tatum will sign the transaction with the managed private key connected to the caller address. This is applicable only for paid mainnet plans and all testnet plans. Keep in mind that the caller address must have enough access right to perform the action in the smart contract method.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send S or fungible tokens (ERC-20) from account to account](https://docs.tatum.io/reference/sonicblockchaintransfer.md):

    2 credits per API call

    Send S or Tatum-supported fungible tokens (ERC-20) from account to account.

    NOTE: Sending the fungible tokens is supported only on the mainnet.

    Signing a transaction
    When sending S, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Broadcast signed Sonic transaction](https://docs.tatum.io/reference/sonicbroadcast.md):

    2 credits per API call

    Broadcast signed transaction to Sonic blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate Sonic account address from Extended public key](https://docs.tatum.io/reference/sonicgenerateaddress.md):

    1 credit per API call.


    Generates an Sonic account deposit address from an Extended public key. The deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate Sonic private key](https://docs.tatum.io/reference/sonicgenerateaddressprivatekey.md):

    1 credit per API call.


    Generates the private key of an address from a mnemonic for a given derivation path index. The private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate Sonic wallet](https://docs.tatum.io/reference/sonicgeneratewallet.md):

    1 credit per API call.


    Tatum supports BIP44 HD wallets. Because they can generate 2^31 addresses from 1 mnemonic phrase, they are very convenient and secure. A mnemonic phrase consists of 24 special words in a defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows the BIP44 specification and generates for Sonic wallets with the derivation path m/44'/60'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generates a BIP44 compatible Sonic wallet.

    - [Get the S balance of an Sonic account](https://docs.tatum.io/reference/sonicgetbalance.md):

    ⚠️ Deprecated: Get Balance


    GET /v3/sonic/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Fetch the balance of a blockchain address, including native and fungible tokens.


    Explore Docs →

    1 credit per API call

    Get the balance of S of an Sonic account.

    To get the balance of tokens, use the APIs for getting the balance of fungible tokens (ERC-20) and NFTs (ERC-721).

    - [Get Sonic block by hash](https://docs.tatum.io/reference/sonicgetblock.md):

    ⚠️ Deprecated: Get Block


    GET /v3/sonic/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch a specific block from the blockchain by providing the block hash or block number.


    Explore Docs →

    1 credit per API call.


    Gets an Sonic block-by-block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/sonicgetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block


    GET /v3/sonic/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Fetch the current block in the blockchain. This endpoint returns the latest block number available.


    Explore Docs →

    1 credit per API call.


    Gets the current Sonic block number. This is the number of the latest block in the blockchain.

    - [Get Sonic Transaction](https://docs.tatum.io/reference/sonicgettransaction.md):

    ⚠️ Deprecated: Get Transaction


    GET /v3/sonic/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch a specific transaction from the blockchain by providing the transaction hash.


    Explore Docs →

    1 credit per API call

    Get Sonic transaction by transaction hash.

    - [Get count of outgoing Sonic transactions](https://docs.tatum.io/reference/sonicgettransactioncount.md):

    ⚠️ Deprecated: Get Transaction Count


    GET /v3/sonic/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Fetch the count of transactions for a blockchain address.


    Explore Docs →

    1 credit per API call.


    Get a number of outgoing Sonic transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/sonicweb3driver.md):

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as an http-based web3 driver to connect directly to the Sonic node provided by Tatum. To learn more about Sonic Web3, visit the Sonic developers' guide.

    - [Stellar](https://docs.tatum.io/reference/rpc-stellar.md): Explore Stellar, a blockchain designed for cross-border payments and digital assets. Build financial applications using its RPC gateway. - [Retrieve Related Operations](https://docs.tatum.io/reference/rpc-stellar-cbretrieverelatedoperations.md): This endpoint represents successful operations referencing a given claimable balance and can be used in streaming mode. Streaming mode allows you to listen for new operations referencing this claimable balance as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known operation unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream operations created since your request time. - [Retrieve Related Transactions](https://docs.tatum.io/reference/rpc-stellar-cbretrieverelatedtransactions.md): This endpoint represents successful transactions referencing a given claimable balance and can be used in streaming mode. Streaming mode allows you to listen for new transactions referencing this claimable balance as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known transaction unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream transactions created since your request time. - [List All Offers](https://docs.tatum.io/reference/rpc-stellar-getalloffers.md): This endpoint lists all currently open offers and can be used in streaming mode. Streaming mode allows you to listen for new offers as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known offer unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream offers created since your request time. When filtering by buying or selling arguments, you must use a combination of selling_asset_type, selling_asset_issuer, and selling_asset_code for the selling asset, or a combination of buying_asset_type, buying_asset_issuer, and buying_asset_code for the buying asset. - [List All Trades](https://docs.tatum.io/reference/rpc-stellar-getalltrades.md): This endpoint lists all trades and can be used in streaming mode. Streaming mode allows you to listen for new trades as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known trade unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream trades created since your request time. When filtering for a specific orderbook, you must use use all six of these arguments: base_asset_type, base_asset_issuer, base_asset_code, counter_asset_type, counter_asset_issuer, and counter_asset_code. If the base or counter asset is XLM, you only need to indicate the asset type as native and do not need to designate the code or the issuer. - [Retrieve an Account's Data](https://docs.tatum.io/reference/rpc-stellar-getdatabyaccountid.md): This endpoint represents a single data for a given account. - [Retrieve an Account's Effects](https://docs.tatum.io/reference/rpc-stellar-geteffectsbyaccountid.md): This endpoint returns the effects of a specific account and can be used in streaming mode. Streaming mode allows you to listen for new effects for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known effect unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream effects created since your request time. - [Retrieve an Offer](https://docs.tatum.io/reference/rpc-stellar-getofferbyofferid.md): The single offer endpoint provides information on a specific offer. - [Retrieve an Account's Offers](https://docs.tatum.io/reference/rpc-stellar-getoffersbyaccountid.md): This endpoint represents all offers a given account has currently open and can be used in streaming mode. Streaming mode allows you to listen for new offers for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known offer unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream offers created since your request time. - [Retrieve an Account's Operations](https://docs.tatum.io/reference/rpc-stellar-getoperationsbyaccountid.md): This endpoint represents successful operations for a given account and can be used in streaming mode. Streaming mode allows you to listen for new operations for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known operation unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream operations created since your request time. - [Retrieve an Account's Payments](https://docs.tatum.io/reference/rpc-stellar-getpaymentsbyaccountid.md): This endpoint represents successful payments for a given account and can be used in streaming mode. Streaming mode allows you to listen for new payments for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known payment unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream payments created since your request time. - [Retrieve an Account's Trades](https://docs.tatum.io/reference/rpc-stellar-gettradesbyaccountid.md): This endpoint represents all trades for a given account and can be used in streaming mode. Streaming mode allows you to listen for trades for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known trade unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream trades created since your request time. - [Retrieve an Offer's Trades](https://docs.tatum.io/reference/rpc-stellar-gettradesbyofferid.md): This endpoint represents all trades for a given offer and can be used in streaming mode. Streaming mode allows you to listen for trades for this offer as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known trade unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream trades created since your request time. - [Retrieve an Account's Transactions](https://docs.tatum.io/reference/rpc-stellar-gettransactionsbyaccountid.md): This endpoint represents successful transactions for a given account and can be used in streaming mode. Streaming mode allows you to listen for new transactions for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known transaction unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream transactions created since your request time. - [List all Accounts](https://docs.tatum.io/reference/rpc-stellar-listallaccounts.md): This endpoint lists accounts by one of four filters : signer, asset, liquidity pool or sponsor. - [List all Assets](https://docs.tatum.io/reference/rpc-stellar-listallassets.md): This endpoint lists all assets. - [List All Claimable Balances](https://docs.tatum.io/reference/rpc-stellar-listallclaimablebalances.md): This endpoint lists all available claimable balances. - [List All Effects](https://docs.tatum.io/reference/rpc-stellar-listalleffects.md): This endpoint lists all effects and can be used in streaming mode. Streaming mode allows you to listen for new effects as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known effect unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream effects created since your request time. - [List All Ledgers](https://docs.tatum.io/reference/rpc-stellar-listallledgers.md): This endpoint lists all ledgers and can be used in streaming mode. Streaming mode allows you to listen for new ledgers as they close. If called in streaming mode, Horizon will start at the earliest known ledger unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream ledgers since your request time. - [List All Operations](https://docs.tatum.io/reference/rpc-stellar-listalloperations.md): This endpoint lists all Successful operations and can be used in streaming mode. Streaming mode allows you to listen for new operations as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known operation unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream operations created since your request time. - [List All Payments](https://docs.tatum.io/reference/rpc-stellar-listallpayments.md): This endpoint lists all Successful payment-related operations and can be used in streaming mode. Streaming mode allows you to listen for new payments as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known payment unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream payments created since your request time. Operations that can be returned by this endpoint include: create_account, payment, path_payment_strict_recieve, path_payment_strict_send, and account_merge . - [List All Transactions](https://docs.tatum.io/reference/rpc-stellar-listalltransactions.md): This endpoint lists all Successful transactions and can be used in streaming mode. Streaming mode allows you to listen for new transactions as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known transaction unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream transactions created since your request time. - [List Liquidity Pools](https://docs.tatum.io/reference/rpc-stellar-listliquiditypools.md): This endpoint lists all available liquidity pools. - [List Strict Receive Payment Paths](https://docs.tatum.io/reference/rpc-stellar-liststrictreceivepaymentpaths.md): The strict receive payment path endpoint lists the paths a payment can take based on the amount of an asset you want the recipient to receive. The destination asset amount stays constant, and the type and amount of an asset sent varies based on offers in the order books. For this search, Horizon loads a list of assets available to the sender (based on `source_account` or `source_assets`) and displays the possible paths from the different source assets to the destination asset. Only paths that satisfy the `destination_amount` are returned. - [List Strict Send Payment Paths](https://docs.tatum.io/reference/rpc-stellar-liststrictsendpaymentpaths.md): The strict send payment path endpoint lists the paths a payment can take based on the amount of an asset you want to send. The source asset amount stays constant, and the type and amount of an asset received varies based on offers in the order books. For this search, Horizon loads a list of assets that the recipient can receive (based on `destination_account` or `destination_assets`) and displays the possible paths from the different source assets to the destination asset. Only paths that satisfy the `source_amount` are returned. - [List Trade Aggregations](https://docs.tatum.io/reference/rpc-stellar-listtradeaggregations.md): This endpoint displays trade data based on filters set in the arguments. This is done by dividing a given time range into segments and aggregating statistics, for a given asset pair (base, counter) over each of these segments. The duration of the segments is specified with the `resolution` parameter. The start and end of the time range are given by `startTime` and `endTime` respectively, which are both rounded to the nearest multiple of `resolution` since epoch. The individual segments are also aligned with multiples of `resolution` since epoch. If you want to change this alignment, the segments can be `offset` by specifying the offset parameter. - [Retrieve Related Operations](https://docs.tatum.io/reference/rpc-stellar-lpretrieverelatedoperations.md): This endpoint represents successful operations referencing a given liquidity pool and can be used in streaming mode. Streaming mode allows you to listen for new operations referencing this liquidity pool as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known operation unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream operations created since your request time. - [Retrieve Related Transactions](https://docs.tatum.io/reference/rpc-stellar-lpretrieverelatedtransactions.md): This endpoint represents successful transactions referencing a given liquidity pool and can be used in streaming mode. Streaming mode allows you to listen for new transactions referencing this liquidity pool as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known transaction unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream transactions created since your request time. - [Retrieve a Claimable Balance](https://docs.tatum.io/reference/rpc-stellar-retrieveaclaimablebalance.md): The single claimable balance endpoint provides information on a claimable balance. - [Retrieve a Ledger](https://docs.tatum.io/reference/rpc-stellar-retrievealedger.md): The single ledger endpoint provides information on a specific ledger. - [Retrieve a Ledgers's Effects](https://docs.tatum.io/reference/rpc-stellar-retrievealedgerseffects.md): This endpoint returns the effects of a specific ledger. - [Retrieve a Ledger's Operations](https://docs.tatum.io/reference/rpc-stellar-retrievealedgersoperations.md): This endpoint returns successful operations in a specific ledger. - [Retrieve a Ledger's Payments](https://docs.tatum.io/reference/rpc-stellar-retrievealedgerspayments.md): This endpoint returns all payment-related operations in a specific ledger. Operation types that can be returned by this endpoint include: create_account, payment, path_payment, and account_merge. - [Retrieve a Ledger's Transactions](https://docs.tatum.io/reference/rpc-stellar-retrievealedgerstransactions.md): This endpoint represents successful transactions in a given ledger. - [Retrieve a Liquidity Pool](https://docs.tatum.io/reference/rpc-stellar-retrievealiquiditypool.md): The single liquidity pool endpoint provides information on a liquidity pool. - [Retrieve an Account](https://docs.tatum.io/reference/rpc-stellar-retrieveanaccount.md): The single account endpoint provides information on a specific account. The balances section in the response will also list all the trustlines this account has established, including trustlines that haven’t been authorized yet. - [Retrieve an Operation](https://docs.tatum.io/reference/rpc-stellar-retrieveanoperation.md): The single operation endpoint provides information about a specific operation. - [Retrieve an Operation's Effects](https://docs.tatum.io/reference/rpc-stellar-retrieveanoperationseffects.md): This endpoint returns the effects of a specific operation. - [Retrieve an Order Book](https://docs.tatum.io/reference/rpc-stellar-retrieveanorderbook.md): The order book endpoint provides an order book's bids and asks and can be used in [streaming](https://developers.stellar.org/docs/data/horizon/api-reference/structure/streaming) mode. When filtering for a specific order book, you must use use all six of these arguments: `base_asset_type`, `base_asset_issuer`, `base_asset_code`, `counter_asset_type`, `counter_asset_issuer`, and `counter_asset_code`. If the base or counter asset is XLM, you only need to indicate the asset type as `native` and do not need to designate the code or the issuer. - [Retrieve a Transaction](https://docs.tatum.io/reference/rpc-stellar-retrieveatransaction.md): The single transaction endpoint provides information on a specific transaction. - [Retrieve a Transaction's Effects](https://docs.tatum.io/reference/rpc-stellar-retrieveatransactionseffects.md): This endpoint returns the effects of a specific transaction. - [Retrieve a Transaction's Operations](https://docs.tatum.io/reference/rpc-stellar-retrieveatransactionsoperations.md): This endpoint returns Successful operations for a specific transaction. - [Retrieve a Transaction's Payments](https://docs.tatum.io/reference/rpc-stellar-retrieveatransactionspayments.md): This endpoint returns the payments of a specific transaction. - [Retrieve Fee Stats](https://docs.tatum.io/reference/rpc-stellar-retrievefeestats.md): The fee stats endpoint provides information about per-operation fee stats over the last 5 ledgers. - [Retrieve Related Effects](https://docs.tatum.io/reference/rpc-stellar-retrieverelatedeffects.md): This endpoint represents effects referencing a given liquidity pool and can be used in streaming mode. Streaming mode allows you to listen for new effects referencing this liquidity pool as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known effect unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream effects created since your request time. - [Retrieve Related Trades](https://docs.tatum.io/reference/rpc-stellar-retrieverelatedtrades.md): This endpoint represents successful trades fulfilled by the given liquidity pool and can be used in streaming mode. Streaming mode allows you to listen for new trades referencing this liquidity pool as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known trade unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream trade created since your request time. - [Submit a Transaction Asynchronously](https://docs.tatum.io/reference/rpc-stellar-submitasynctransaction.md): This endpoint submits transactions to the Stellar network asynchronously. It is designed to allow users to submit transactions without blocking them while waiting for a response from Horizon. At the same time, it also provides clear response status codes from stellar-core to help understand the status of the submitted transaction. You can then use Horizon's [GET transaction endpoint](https://developers.stellar.org/docs/data/horizon/api-reference/resources/retrieve-a-transaction) to wait for the transaction to be included in a ledger and ingested by Horizon. - [Submit a Transaction](https://docs.tatum.io/reference/rpc-stellar-submitatransaction.md): This endpoint actually submits a transaction to the Stellar network. It only takes a single, required parameter: the signed transaction. Refer to the Transactions page for details on how to craft a proper one. If you submit a transaction that has already been included in a ledger, this endpoint will return the same response as would’ve been returned for the original transaction submission. This allows for safe resubmission of transactions in error scenarios, as highlighted in the error-handling guide. - [Broadcast signed XLM transaction](https://docs.tatum.io/reference/xlmbroadcast.md):

    /v3/xlm/broadcast

    5 credits per API call.


    Broadcast signed transaction to XLM blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Get XLM Account info](https://docs.tatum.io/reference/xlmgetaccountinfo.md):

    /v3/xlm/account/{account}

    5 credits per API call.


    Get XLM Account detail.

    - [Get XLM Account transactions](https://docs.tatum.io/reference/xlmgetaccounttx.md):

    /v3/xlm/account/tx/{account}

    5 credits per API call.


    List all XLM account transactions.

    - [Get actual XLM fee](https://docs.tatum.io/reference/xlmgetfee.md):

    /v3/xlm/fee

    5 credits per API call.


    Get XLM Blockchain fee in 1/10000000 of XLM (stroop)

    - [Get XLM Blockchain Information](https://docs.tatum.io/reference/xlmgetlastclosedledger.md):

    /v3/xlm/info

    5 credits per API call.


    Get XLM Blockchain last closed ledger.

    - [Get XLM Blockchain Ledger by sequence](https://docs.tatum.io/reference/xlmgetledger.md):

    ⚠️ Deprecated: Get XLM Blockchain Ledger by sequence


    GET /v3/xlm/ledger/{sequence} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch the ledger details by sequence number. This endpoint returns information about a specific XLM ledger.


    Explore Docs →

    /v3/xlm/ledger/{sequence}

    5 credits per API call.


    Get XLM Blockchain ledger for ledger sequence.

    - [Get XLM Blockchain Transactions in Ledger](https://docs.tatum.io/reference/xlmgetledgertx.md):

    ⚠️ Deprecated: Get XLM Blockchain Ledger by sequence


    GET /v3/xlm/ledger/{sequence} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch the ledger details by sequence number. This endpoint returns information about a specific XLM ledger.


    Explore Docs →

    /v3/xlm/ledger/{sequence}

    5 credits per API call.


    Get XLM Blockchain ledger for ledger sequence.

    - [Get XLM Transaction by hash](https://docs.tatum.io/reference/xlmgettransaction.md):

    ⚠️ Deprecated: Get XLM Transaction by hash


    GET /v3/xlm/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch the XLM transaction details by transaction hash. This endpoint returns information about a specific transaction.


    Explore Docs →

    /v3/xlm/transaction/{hash}

    5 credits per API call.


    Get XLM Transaction by transaction hash.

    - [Send XLM from address to address](https://docs.tatum.io/reference/xlmtransferblockchain.md):

    /v3/xlm/transaction

    10 credits per API call.


    Send XLM from account to account. It is possbile to send native XLM asset, or any other custom asset present on the network.

    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Create / Update / Delete XLM trust line](https://docs.tatum.io/reference/xlmtrustlineblockchain.md):

    /v3/xlm/trust

    10 credits per API call.


    Create / Update / Delete XLM trust line between accounts to transfer private assets. By creating trustline for the first time, the asset is created automatically and can be used in the transactions.

    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Generate XLM account](https://docs.tatum.io/reference/xlmwallet.md):

    /v3/xlm/account

    5 credits per API call.


    Generate XLM account. Tatum does not support HD wallet for XLM, only specific address and private key can be generated.

    - [Sui](https://docs.tatum.io/reference/rpc-sui.md): SUI is a high-performance, Move-based Layer 1 blockchain designed for parallel transaction execution and built to deliver low-latency, high-throughput applications at scale. - [sui_dryRunTransactionBlock - Sui](https://docs.tatum.io/reference/rpc-sui-sui_dryruntransactionblock.md): Return transaction execution effects including the gas cost summary, while the effects are not committed to the chain. - [sui_executeTransactionBlock - Sui](https://docs.tatum.io/reference/rpc-sui-sui_executetransactionblock.md): Execute the transaction and wait for results if desired. Request types: 1. WaitForEffectsCert: waits for TransactionEffectsCert and then return to client. This mode is a proxy for transaction finality. 2. WaitForLocalExecution: waits for TransactionEffectsCert and make sure the node executed the transaction locally before returning the client. The local execution makes sure this node is aware of this transaction when client fires subsequent queries. However if the node fails to execute the transaction locally in a timely manner, a bool type in the response is set to false to indicated the case. request_type is default to be `WaitForEffectsCert` unless options.show_events or options.show_effects is true - [sui_getChainIdentifier - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getchainidentifier.md): Return the chain's identifier - [sui_getCheckpoint - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getcheckpoint.md): Return a checkpoint - [sui_getCheckpoints - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getcheckpoints.md): Return paginated list of checkpoints - [sui_getEvents - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getevents.md): Return transaction events. - [sui_getLatestCheckpointSequenceNumber - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getlatestcheckpointsequencenumber.md): Return the sequence number of the latest checkpoint that has been executed - [sui_getLoadedChildObjects - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getloadedchildobjects.md) - [sui_getMoveFunctionArgTypes - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getmovefunctionargtypes.md): Return the argument types of a Move function, based on normalized Type. - [sui_getNormalizedMoveFunction - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getnormalizedmovefunction.md): Return a structured representation of Move function - [sui_getNormalizedMoveModule - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getnormalizedmovemodule.md): Return a structured representation of Move module - [sui_getNormalizedMoveModulesByPackage - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getnormalizedmovemodulesbypackage.md): Return structured representations of all modules in the given package - [sui_getNormalizedMoveStruct - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getnormalizedmovestruct.md): Return a structured representation of Move struct - [sui_getObject - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getobject.md): Return the object information for a specified object - [sui_getProtocolConfig - Sui](https://docs.tatum.io/reference/rpc-sui-sui_getprotocolconfig.md): Return the protocol config table for the given version number. If the version number is not specified, If none is specified, the node uses the version of the latest epoch it has processed. - [sui_getTotalTransactionBlocks - Sui](https://docs.tatum.io/reference/rpc-sui-sui_gettotaltransactionblocks.md): Return the total number of transactions known to the server. - [sui_getTransactionBlock - Sui](https://docs.tatum.io/reference/rpc-sui-sui_gettransactionblock.md): Return the transaction response object. - [sui_tryGetPastObject - Sui](https://docs.tatum.io/reference/rpc-sui-sui_trygetpastobject.md): Note there is no software-level guarantee/SLA that objects with past versions can be retrieved by this API, even if the object and version exists/existed. The result may vary across nodes depending on their pruning policies. Return the object information for a specified version - [suix_getAllBalances - Sui](https://docs.tatum.io/reference/rpc-sui-suix_getallbalances.md): Return the total coin balance for all coin type, owned by the address owner. - [suix_getAllCoins - Sui](https://docs.tatum.io/reference/rpc-sui-suix_getallcoins.md): Return all Coin objects owned by an address. - [suix_getBalance - Sui](https://docs.tatum.io/reference/rpc-sui-suix_getbalance.md): Return the total coin balance for one coin type, owned by the address owner. - [suix_getCoinMetadata - Sui](https://docs.tatum.io/reference/rpc-sui-suix_getcoinmetadata.md): Return metadata(e.g., symbol, decimals) for a coin - [suix_getCoins - Sui](https://docs.tatum.io/reference/rpc-sui-suix_getcoins.md): Return all Coin<`coin_type`> objects owned by an address. - [suix_getCommitteeInfo - Sui](https://docs.tatum.io/reference/rpc-sui-suix_getcommitteeinfo.md): Return the committee information for the asked `epoch`. - [suix_getDynamicFieldObject - Sui](https://docs.tatum.io/reference/rpc-sui-suix_getdynamicfieldobject.md): Return the dynamic field object information for a specified object - [suix_getDynamicFields - Sui](https://docs.tatum.io/reference/rpc-sui-suix_getdynamicfields.md): Return the list of dynamic field objects owned by an object. - [suix_getOwnedObjects - Sui](https://docs.tatum.io/reference/rpc-sui-suix_getownedobjects.md): Return the list of objects owned by an address. Note that if the address owns more than `QUERY_MAX_RESULT_LIMIT` objects, the pagination is not accurate, because previous page may have been updated when the next page is fetched. Please use suix_queryObjects if this is a concern. - [suix_getReferenceGasPrice - Sui](https://docs.tatum.io/reference/rpc-sui-suix_getreferencegasprice.md): Return the reference gas price for the network - [suix_getTotalSupply - Sui](https://docs.tatum.io/reference/rpc-sui-suix_gettotalsupply.md): Return total supply for a coin - [suix_queryEvents - Sui](https://docs.tatum.io/reference/rpc-sui-suix_queryevents.md): Return list of events for a specified query criteria. - [suix_queryTransactionBlocks - Sui](https://docs.tatum.io/reference/rpc-sui-suix_querytransactionblocks.md): Return list of transactions for a specified query criteria. - [suix_resolveNameServiceAddress - Sui](https://docs.tatum.io/reference/rpc-sui-suix_resolvenameserviceaddress.md): Return the resolved address given resolver and name - [suix_resolveNameServiceNames - Sui](https://docs.tatum.io/reference/rpc-sui-suix_resolvenameservicenames.md): Return the resolved names given address, if multiple names are resolved, the first one is the primary name. - [unsafe_mergeCoins - Sui](https://docs.tatum.io/reference/rpc-sui-unsafe_mergecoins.md): Create an unsigned transaction to merge multiple coins into one coin. - [unsafe_requestWithdrawStake - Sui](https://docs.tatum.io/reference/rpc-sui-unsafe_requestwithdrawstake.md): Withdraw stake from a validator's staking pool. - [unsafe_splitCoinEqual - Sui](https://docs.tatum.io/reference/rpc-sui-unsafe_splitcoinequal.md): Create an unsigned transaction to split a coin object into multiple equal-size coins. - [unsafe_transferObject - Sui](https://docs.tatum.io/reference/rpc-sui-unsafe_transferobject.md): Create an unsigned transaction to transfer an object from one address to another. The object's type must allow public transfers - [unsafe_transferSui - Sui](https://docs.tatum.io/reference/rpc-sui-unsafe_transfersui.md): Create an unsigned transaction to send SUI coin object to a Sui address. The SUI object is also used as the gas object. - [Sui - gRPC](https://docs.tatum.io/reference/sui-grpc.md): Sui gRPC is a high-performance, type-safe interface designed for power users, indexers, and decentralized applications. Utilizing Protocol Buffers and HTTP/2, it provides low-latency access to the Sui blockchain, replacing the deprecated JSON-RPC for full node interactions. - [Tezos](https://docs.tatum.io/reference/rpc-tezos.md): Discover Tezos, a self-amending blockchain with on-chain governance. Build decentralized applications using its RPC gateway and flexible architecture. - [getBigMapValue](https://docs.tatum.io/reference/rpc-tezos-getbigmapvalue.md): Tezos RPC - [getBlock](https://docs.tatum.io/reference/rpc-tezos-getblock.md): Tezos RPC - [getBlockHash](https://docs.tatum.io/reference/rpc-tezos-getblockhash.md): Tezos RPC - [getBlockHashes](https://docs.tatum.io/reference/rpc-tezos-getblockhashes.md): Tezos RPC - [getBlockHeader](https://docs.tatum.io/reference/rpc-tezos-getblockheader.md): Tezos RPC - [getBlocksHead](https://docs.tatum.io/reference/rpc-tezos-getblockshead.md): Tezos RPC - [getBlockShell](https://docs.tatum.io/reference/rpc-tezos-getblockshell.md): Tezos RPC - [getChainId](https://docs.tatum.io/reference/rpc-tezos-getchainid.md): Tezos RPC - [getConfig](https://docs.tatum.io/reference/rpc-tezos-getconfig.md): Tezos RPC - [getConractTickets](https://docs.tatum.io/reference/rpc-tezos-getconracttickets.md): Tezos RPC - [getConstants](https://docs.tatum.io/reference/rpc-tezos-getconstants.md): Tezos RPC - [getContract](https://docs.tatum.io/reference/rpc-tezos-getcontract.md): Tezos RPC - [getContractBalance](https://docs.tatum.io/reference/rpc-tezos-getcontractbalance.md): Tezos RPC - [getContractBalanceAndFrozenBonds](https://docs.tatum.io/reference/rpc-tezos-getcontractbalanceandfrozenbonds.md): Tezos RPC - [getContractCounter](https://docs.tatum.io/reference/rpc-tezos-getcontractcounter.md): Tezos RPC - [getContractDelegate](https://docs.tatum.io/reference/rpc-tezos-getcontractdelegate.md): Tezos RPC - [getContractEntrypoint](https://docs.tatum.io/reference/rpc-tezos-getcontractentrypoint.md): Tezos RPC - [getContractEntrypoints](https://docs.tatum.io/reference/rpc-tezos-getcontractentrypoints.md): Tezos RPC - [getContractManagerKey](https://docs.tatum.io/reference/rpc-tezos-getcontractmanagerkey.md): Tezos RPC - [getcontracttickets](https://docs.tatum.io/reference/rpc-tezos-getcontracttickets.md): Tezos RPC - [getErrorsSchema](https://docs.tatum.io/reference/rpc-tezos-geterrorsschema.md): Tezos RPC - [getHistoryMode](https://docs.tatum.io/reference/rpc-tezos-gethistorymode.md): Tezos RPC - [getInvalidBlocks](https://docs.tatum.io/reference/rpc-tezos-getinvalidblocks.md): Tezos RPC - [getLevelsCaboose](https://docs.tatum.io/reference/rpc-tezos-getlevelscaboose.md): Tezos RPC - [getLevelsCheckpoint](https://docs.tatum.io/reference/rpc-tezos-getlevelscheckpoint.md): Tezos RPC - [getLevelsSavepoint](https://docs.tatum.io/reference/rpc-tezos-getlevelssavepoint.md): Tezos RPC - [getNetworkDal](https://docs.tatum.io/reference/rpc-tezos-getnetworkdal.md): Tezos RPC - [getNodeVersion](https://docs.tatum.io/reference/rpc-tezos-getnodeversion.md): Tezos RPC - [getOperationHashes](https://docs.tatum.io/reference/rpc-tezos-getoperationhashes.md): Tezos RPC - [getOperations](https://docs.tatum.io/reference/rpc-tezos-getoperations.md): Tezos RPC - [getProtocol](https://docs.tatum.io/reference/rpc-tezos-getprotocol.md): Tezos RPC - [getProtocolEnvironment](https://docs.tatum.io/reference/rpc-tezos-getprotocolenvironment.md): Tezos RPC - [getProtocols](https://docs.tatum.io/reference/rpc-tezos-getprotocols.md): Tezos RPC - [getUserActivatedProtocolOverrides](https://docs.tatum.io/reference/rpc-tezos-getuseractivatedprotocoloverrides.md): Tezos RPC - [getUserActivatedUpgrades](https://docs.tatum.io/reference/rpc-tezos-getuseractivatedupgrades.md): Tezos RPC - [injectBlock](https://docs.tatum.io/reference/rpc-tezos-injectblock.md): Tezos RPC - [injectOperation](https://docs.tatum.io/reference/rpc-tezos-injectoperation.md): Tezos RPC - [injectProtocol](https://docs.tatum.io/reference/rpc-tezos-injectprotocol.md): Tezos RPC - [isBootstrapped](https://docs.tatum.io/reference/rpc-tezos-isbootstrapped.md): Tezos RPC - [simulateOperation](https://docs.tatum.io/reference/rpc-tezos-simulateoperation.md): Tezos RPC - [The Open Network (TON)](https://docs.tatum.io/reference/rpc-ton.md): Explore The Open Network (TON), a high-performance blockchain designed for fast, scalable decentralized applications. Build using its RPC gateway - [getBlockTransactionsExt](https://docs.tatum.io/reference/get_block_transactions_ext.md): Get transactions of the given block. - [sendBoc](https://docs.tatum.io/reference/rpc-ron-send_boc.md): Send serialized boc file: fully packed and serialized external message to blockchain. - [detectAddress](https://docs.tatum.io/reference/rpc-ton-detect_address.md): Get all possible address forms. - [estimateFee](https://docs.tatum.io/reference/rpc-ton-estimate_fee.md): Estimate fees required for query processing. *body*, *init-code* and *init-data* accepted in serialized format (b64-encoded). - [getAddressBalance](https://docs.tatum.io/reference/rpc-ton-get_address_balance.md): Get balance (in nanotons) of a given address. - [getAddressInformation](https://docs.tatum.io/reference/rpc-ton-get_address_information.md): Get basic information about the address: balance, code, data, last_transaction_id. - [getAddress](https://docs.tatum.io/reference/rpc-ton-get_address.md): Get state of a given address. State can be either *unitialized*, *active* or *frozen*. - [gettBlockHeader](https://docs.tatum.io/reference/rpc-ton-get_block_header.md): Get metadata of a given block. - [getBlockTransactions](https://docs.tatum.io/reference/rpc-ton-get_block_transactions.md): Get transactions of the given block. - [getConfigAll](https://docs.tatum.io/reference/rpc-ton-get_config_all.md): Get cell with full config. - [getConfigParam](https://docs.tatum.io/reference/rpc-ton-get_config_param.md): Get config by id. - [getConsensusBlock](https://docs.tatum.io/reference/rpc-ton-get_consensus_block.md): Get consensus block and its update timestamp. - [getExtendedAddressInformation](https://docs.tatum.io/reference/rpc-ton-get_extended_address_information.md): Similar to previous one but tries to parse additional information for known contract types. This method is based on tonlib's function *getAccountState*. For detecting wallets we recommend to use *getWalletInformation*. - [getMasterchainBlockSignatures](https://docs.tatum.io/reference/rpc-ton-get_masterchain_block_signatures.md): Get up-to-date masterchain state. - [getMasterchainInfo](https://docs.tatum.io/reference/rpc-ton-get_masterchain.md): Get up-to-date masterchain state. - [getOutMsgQueueSizes](https://docs.tatum.io/reference/rpc-ton-get_out_msg_queue_sizes_getoutmsgqueuesizes_get.md): Get info with current sizes of messages queues by shards. - [getShardBlockProof](https://docs.tatum.io/reference/rpc-ton-get_shard_block_proof.md): Get merkle proof of shardchain block. - [getShards](https://docs.tatum.io/reference/rpc-ton-get_shards.md): Get shards information. - [getTokenData](https://docs.tatum.io/reference/rpc-ton-get_token_data.md): Get NFT or Jetton information. - [getTransactions](https://docs.tatum.io/reference/rpc-ton-get_transactions_gettransactions_get.md): Get transaction history of a given address. - [getTryLocateResultTx](https://docs.tatum.io/reference/rpc-ton-get_try_locate_result_tx.md): Same as previous. Locate outcoming transaction of *destination* address by incoming message - [getTryLocateSourceTx](https://docs.tatum.io/reference/rpc-ton-get_try_locate_source_tx.md): Locate incoming transaction of *source* address by outcoming message. - [getTryLocateTx](https://docs.tatum.io/reference/rpc-ton-get_try_locate_tx.md): Locate outcoming transaction of *destination* address by incoming message. - [getWalletInformation](https://docs.tatum.io/reference/rpc-ton-get_wallet_information.md): Retrieve wallet information. This method parses contract state and currently supports more wallet types than getExtendedAddressInformation: simple wallet, standart wallet, v3 wallet, v4 wallet. - [jsonrpcHandler](https://docs.tatum.io/reference/rpc-ton-jsonrpc_handler.md): All methods in the API are available through JSON-RPC protocol ([spec](https://www.jsonrpc.org/specification)). - [lookupBlock](https://docs.tatum.io/reference/rpc-ton-lookup_block.md): Look up block by either *seqno*, *lt* or *unixtime*. - [packAddress](https://docs.tatum.io/reference/rpc-ton-pack_address.md): Convert an address from raw to human-readable format. - [runGetMethod](https://docs.tatum.io/reference/rpc-ton-run_get_method.md): Run get method on smart contract. - [sendBocReturnHash](https://docs.tatum.io/reference/rpc-ton-send_boc_return_hash.md): Send serialized boc file: fully packed and serialized external message to blockchain. The method returns message hash. - [sendQuery](https://docs.tatum.io/reference/rpc-ton-send_query.md): Send query - unpacked external message. This method takes address, body and init-params (if any), packs it to external message and sends to network. All params should be boc-serialized. - [unpackAddress](https://docs.tatum.io/reference/rpc-ton-unpack_address.md): Convert an address from human-readable to raw format. - [Tron](https://docs.tatum.io/reference/rpc-tron.md): Explore Tron, a blockchain optimized for content sharing and decentralized applications. Build fast, low-cost dApps using its RPC gateway. - [buildTransaction](https://docs.tatum.io/reference/rpc-tron-buildtransaction.md): Create a transaction. This method supports different contract types including TransferContract, TransferAssetContract, CreateSmartContract, and TriggerSmartContract. The parameters provided in the request determine which type of transaction is created. - [eth_blockNumber - Tron](https://docs.tatum.io/reference/rpc-tron-eth_blocknumber.md): The **eth_blockNumber** method is part of the Tron JSON-RPC API, which is used to interact with the Tron blockchain. This method is particularly useful for various use cases within the blockchain ecosystem, including but not limited to: Monitoring Blockchain Health: By regularly checking the latest block number, developers can monitor the health and activity of the Tron blockchain. This can be crucial for applications that rely on the blockchain for their operations, as it helps in identifying any potential issues or delays in block production. Synchronization Checks: For applications that interact with the Tron blockchain, knowing the latest block number can be essential for synchronization purposes. It helps in ensuring that the application's data is up-to-date with the blockchain's state. Transaction Verification: When submitting transactions to the blockchain, knowing the current block number can be useful for setting appropriate gas prices and for verifying transaction confirmations. - [eth_call - Tron](https://docs.tatum.io/reference/rpc-tron-eth_call.md): The **eth_call** method in Tron's JSON-RPC API is used to execute a new message call immediately without creating a transaction on the blockchain. This method is particularly useful for testing and debugging smart contracts, as it allows developers to simulate the execution of contract methods without actually sending transactions to the network. This can help in identifying issues or understanding the behavior of contracts without incurring any gas costs or affecting the blockchain state. Please check the common use cases: Testing Smart Contracts: Before deploying a smart contract, developers can use eth_call to test its functionality and ensure it behaves as expected. Debugging: It can be used to debug smart contracts by simulating transactions and observing the state changes or return values without affecting the live contract. Estimating Gas Costs: Although eth_call does not actually send a transaction, it can be used to estimate the gas costs of a transaction by simulating its execution. - [eth_chainId - Tron](https://docs.tatum.io/reference/rpc-tron-eth_chainid.md): The **eth_chainId** method is part of the Tron JSON-RPC API, specifically designed to return the current network or chain ID. This method is crucial for ensuring the uniqueness of transactions across different Tron networks, as it helps in preventing replay attacks by distinguishing between transactions intended for different networks. The chain ID was introduced as part of EIP-155 to address the issue of transaction replay attacks across different Tron networks. - [eth_estimateGas - Tron](https://docs.tatum.io/reference/rpc-tron-eth_estimategas.md): The **eth_estimateGas** method in Tron's JSON-RPC API is used to estimate the amount of gas that would be required to execute a transaction without actually sending it. This method is particularly useful for determining the appropriate gas limit for a transaction before it is submitted to the network, helping to avoid out-of-gas errors and ensuring that transactions are processed efficiently. - [eth_feeHistory - Tron](https://docs.tatum.io/reference/rpc-tron-eth_feehistory.md): The **eth_feeHistory** retrieves historical gas fee data, providing insights into gas price trends and block utilization over time. This method is valuable for estimating transaction fees and understanding network congestion. - [eth_gasPrice - Tron](https://docs.tatum.io/reference/rpc-tron-eth_gasprice.md): The **eth_gasPrice** method is part of the Tron JSON-RPC API, which is used to interact with the Tron blockchain. This method specifically returns the current gas price on the Tron network in wei. Wei is the smallest denomination of ether, the cryptocurrency used on the Tron network. The gas price is a critical parameter for transactions on the Tron network, as it determines how much a transaction is willing to pay per unit of gas, which is a measure of computational effort. - [eth_getBalance - Tron](https://docs.tatum.io/reference/rpc-tron-eth_getbalance.md): The **eth_getBalance** method is an Tron JSON-RPC method that allows you to retrieve the Ether balance of a specified address. This method can be used to query the balance of any Tron address, whether it is a contract or an externally owned account (EOA). A common use case for this method is to display the current balance of a user's account in a wallet application or a decentralised application (DApp). - [eth_getBlockByHash - Tron](https://docs.tatum.io/reference/rpc-tron-eth_getblockbyhash.md): The **eth_getBlockByHash** is an Tron JSON-RPC method that allows developers to query a specific block in the Tron blockchain by its block hash. This method can be used in various scenarios, such as analysing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockByNumber - Tron](https://docs.tatum.io/reference/rpc-tron-eth_getblockbynumber.md): The **eth_getBlockByNumber** is an Tron JSON-RPC method that allows developers to query a specific block in the Tron blockchain by its block number. This method can be used in various scenarios, such as analyzing historical transactions, validating the state of the blockchain, or monitoring the progress of mining activities. - [eth_getBlockTransactionCountByHash - Tron](https://docs.tatum.io/reference/rpc-tron-eth_getblocktransactioncountbyhash.md): The **eth_getBlockTransactionCountByHash** is an Tron RPC method used to fetch the number of transactions in a block by the block's hash. It is useful when you want to know the total number of transactions included in a specific block and don't want to retrieve the entire block data. This method can be used in various scenarios, such as monitoring the network activity or estimating transaction confirmation times. - [eth_getBlockTransactionCountByNumber - Tron](https://docs.tatum.io/reference/rpc-tron-eth_getblocktransactioncountbynumber.md): The **eth_getBlockTransactionCountByNumber** Tron JSON-RPC method allows you to retrieve the number of transactions in a specified block. This method is particularly useful when you need to analyze the transaction activity of a specific block. You can use it to gain insights into network usage, analyze the impact of specific events on the Tron network, or monitor transaction congestion in certain blocks. - [eth_getCode - Tron](https://docs.tatum.io/reference/rpc-tron-eth_getcode.md): The **eth_getCode** method is part of the Tron JSON-RPC API and is used to retrieve the contract code (bytecode) of an account at a specific block number. This method is particularly useful for developers who need to examine the bytecode of a deployed contract, verify the integrity of a deployed contract, analyze contract bytecode for security vulnerabilities, or debug a smart contract. - [eth_getLogs - Tron](https://docs.tatum.io/reference/rpc-tron-eth_getlogs.md): The eth_getLogs method is an Tron JSON-RPC method that allows developers to query logs generated by the Tron network, specifically event logs emitted by smart contracts. These logs are an essential part of the Tron ecosystem as they provide a way for developers to monitor contract events and track contract state changes. This method is particularly useful when building decentralized applications (dApps) that rely on events emitted by smart contracts, as it enables developers to retrieve logs based on specific filter criteria. By using eth_getLogs, developers can efficiently track and react to events happening on the Tron blockchain. - [eth_getProof - Tron](https://docs.tatum.io/reference/rpc-tron-eth_getproof.md): The **eth_getProof** is an Tron JSON-RPC method that retrieves the Merkle-Patricia proof for an account, storage key-value pairs, and account transaction count. It allows developers to verify the state of an account or storage value at a specific block without needing the entire Tron state trie. This method is particularly useful for light clients or off-chain applications that require proof of an account's state or specific storage values. - [eth_getStorageAt - Tron](https://docs.tatum.io/reference/rpc-tron-eth_getstorageat.md): The **eth_getStorageAt** is an Tron JSON-RPC method that allows you to query the storage value of a contract at a given position. It can be used to inspect the internal state of a smart contract. This method is particularly useful for developers, auditors, and analysts who want to examine contract storage values for various purposes, such as debugging, verifying contract behavior, or analyzing data. - [eth_getTransactionByBlockHashAndIndex - Tron](https://docs.tatum.io/reference/rpc-tron-eth_gettransactionbyblockhashandindex.md): The **eth_getTransactionByBlockHashAndIndex** is an Tron JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByBlockNumberAndIndex - Tron](https://docs.tatum.io/reference/rpc-tron-eth_gettransactionbyblocknumberandindex.md): The eth_getTransactionByBlockHashAndIndex is an Tron JSON-RPC method that allows you to fetch the transaction details based on the block hash and the index of the transaction within that block. This method can be useful when you want to retrieve transaction details for a specific transaction without knowing its transaction hash. - [eth_getTransactionByHash - Tron](https://docs.tatum.io/reference/rpc-tron-eth_gettransactionbyhash.md): The **eth_getTransactionByHash** is an Tron JSON-RPC method that allows you to query transaction details based on its hash. This method is useful when you want to retrieve information about a specific transaction, such as its sender, receiver, value, and more. Common use cases include tracking transaction status, monitoring incoming transactions, or analyzing historical transaction data. - [eth_getTransactionCount - Tron](https://docs.tatum.io/reference/rpc-tron-eth_gettransactioncount.md): The **eth_getTransactionCount** method is an Tron JSON-RPC method that retrieves the number of transactions sent from a given address. It is a useful method for developers who need to keep track of an account's nonce value to avoid transaction collisions or incorrect order of execution. The nonce value is essential for ensuring transaction uniqueness and preventing replay attacks. - [eth_getTransactionReceipt - Tron](https://docs.tatum.io/reference/rpc-tron-eth_gettransactionreceipt.md): The **eth_getTransactionReceipt** is an Tron JSON-RPC method that retrieves the transaction receipt of a given transaction hash. This method is particularly useful when you need to obtain detailed information about a transaction's execution, such as its status (success or failure), gas usage, and logs (events). Common use cases include checking the status of a transaction after it has been mined or inspecting the events emitted by a smart contract during a specific transaction. - [eth_getUncleCountByBlockHash - Tron](https://docs.tatum.io/reference/rpc-tron-eth_getunclecountbyblockhash.md): The **eth_getUncleCountByBlockHash** method is an Tron JSON-RPC method that returns the number of uncles in a specified block by its hash. This method can be useful for gathering information about the performance of the Tron network and to analyse the security of the blockchain. Uncles are blocks that are not included in the main blockchain but are still valid, and they contribute to the overall security and decentralisation of the Tron network. The inclusion of uncles helps prevent centralisation and ensures the mining process remains competitive. - [eth_getUncleCountByBlockNumber - Tron](https://docs.tatum.io/reference/rpc-tron-eth_getunclecountbyblocknumber.md): The **eth_getUncleCountByBlockNumber** is an Tron JSON-RPC method that allows you to fetch the number of uncles in a block based on the block number. This method can be useful when you want to retrieve the number of uncles in a block without knowing the block hash. - [eth_maxPriorityFeePerGas - Tron](https://docs.tatum.io/reference/rpc-tron-eth_maxpriorityfeepergas.md): The **eth_maxPriorityFeePerGas** RPC method is specifically designed to return the maximum priority fee per gas that is needed to be included in a block. This method is crucial for developers and users interacting with the Tron network, as it provides insights into the current gas fees required for transactions to be processed efficiently. - [eth_sendRawTransaction - Tron](https://docs.tatum.io/reference/rpc-tron-eth_sendrawtransaction.md): The **eth_sendRawTransaction** RPC method is used to facilitate the transmission of a signed and serialized Tron transaction onto the network. This approach proves invaluable when seeking complete oversight of the signing procedure, especially when employing hardware wallets, cold storage solutions, or custom signing libraries. Its versatility shines through in multiple scenarios, including Ether transfers, smart contract interactions, and contract deployments. - [web3_clientVersion - Tron](https://docs.tatum.io/reference/rpc-tron-web3_clientversion.md): The **web3_clientVersion** method is part of the Tron JSON-RPC API, specifically designed to return the current version of the Tron client being used. This method is particularly useful for debugging or when you need to ensure compatibility with specific client versions. - [CreateAccount](https://docs.tatum.io/reference/rpc-tron-account-createaccount.md): Activate an account. Uses an already activated account to activate a new account. Users have to generate an account locally with wallet-cli or others SDKs like TronWeb, and then use this API to activate the account generated, or just simply transfer TRX to it. This endpoint supports both POST and GET methods. - [GetAccount](https://docs.tatum.io/reference/rpc-tron-account-getaccount.md): Query information about an account, including TRX balance, TRC-10 balances, stake information and vote information and permissions etc. This endpoint supports both POST and GET methods. - [UnfreezeBalance](https://docs.tatum.io/reference/rpc-tron-account-resources-unfreezebalance.md): Unstake the TRX staked during Stake1.0, release the obtained bandwidth or energy and TP. This operation will cause automatically cancel all votes. This endpoint supports both POST and GET methods. - [AccountPermissionUpdate](https://docs.tatum.io/reference/rpc-tron-accountpermissionupdate.md): Update the account's permission. This endpoint supports both POST and GET methods. - [BroadcastHex](https://docs.tatum.io/reference/rpc-tron-broadcasthex.md): Broadcast the protobuf encoded transaction hex string after sign This endpoint supports both POST and GET methods. - [BroadcastTransaction](https://docs.tatum.io/reference/rpc-tron-broadcasttransaction.md): Broadcast the signed transaction This endpoint supports both POST and GET methods. - [CancelAllUnfreezeV2](https://docs.tatum.io/reference/rpc-tron-cancelallunfreezev2.md): Cancel unstakings, all unstaked funds still in the waiting period will be re-staked, all unstaked funds that exceeded the 14-day waiting period will be automatically withdrawn to the owner’s account This endpoint supports both POST and GET methods. - [ClearAbi](https://docs.tatum.io/reference/rpc-tron-clearabi.md): To clear the ABI info of a smart contract. This endpoint supports both POST and GET methods. - [CreateAssetIssue](https://docs.tatum.io/reference/rpc-tron-createassetissue.md): Issue a TRC10 token. This endpoint supports both POST and GET methods. - [CreateShieldedContractParameters](https://docs.tatum.io/reference/rpc-tron-createshieldedcontractparameters.md): Create shielded contract parameters. This endpoint supports both POST and GET methods. - [CreateSpendAuthSig](https://docs.tatum.io/reference/rpc-tron-createspendauthsig.md): Note:To ensure security, Trongrid has disabled this interface service, please use the service provided by the local node. This endpoint supports both POST and GET methods. - [CreateTransaction](https://docs.tatum.io/reference/rpc-tron-createtransaction.md): Create a TRX transfer transaction. If to_address does not exist, then create the account on the blockchain. This endpoint supports both POST and GET methods. - [CreateWitness](https://docs.tatum.io/reference/rpc-tron-createwitness.md): Apply to become a super representative candidate. This endpoint supports both POST and GET methods. - [DelegateResource](https://docs.tatum.io/reference/rpc-tron-delegateresource.md): Delegate bandwidth or energy resources to other accounts in Stake2.0. This endpoint supports both POST and GET methods. - [EstimateEnergy](https://docs.tatum.io/reference/rpc-tron-estimateenergy.md): Estimate the energy required for the successful execution of smart contract transactions or deploying a contract This endpoint supports both POST and GET methods. - [ExchangeCreate](https://docs.tatum.io/reference/rpc-tron-exchangecreate.md): Creates a trading pair. This endpoint supports both POST and GET methods. - [ExchangeInject](https://docs.tatum.io/reference/rpc-tron-exchangeinject.md): Injects capital into the transaction. The purpose of injecting capital into the trading pair is to prevent price fluctuation from affecting the transaction. This endpoint supports both POST and GET methods. - [ExchangeTransaction](https://docs.tatum.io/reference/rpc-tron-exchangetransaction.md): Participate the transaction of exchange pair This endpoint supports both POST and GET methods. - [ExchangeWithdraw](https://docs.tatum.io/reference/rpc-tron-exchangewithdraw.md): Withdraws the transaction pair. This endpoint supports both POST and GET methods. - [FreezeBalanceV2](https://docs.tatum.io/reference/rpc-tron-freezebalancev2.md): In Stake2.0, stake an amount of TRX to obtain bandwidth or energy, and obtain equivalent TRON Power(TP) according to the staked amount This endpoint supports both POST and GET methods. - [GetAccountBalance](https://docs.tatum.io/reference/rpc-tron-getaccountbalance.md): Get the account balance in a specific block.(Note: At present, the interface data can only be queried through the following official nodes 13.228.119.63 & 18.139.193.235 & 18.141.79.38 & 18.139.248.26) This endpoint supports both POST and GET methods. - [GetAccountNet](https://docs.tatum.io/reference/rpc-tron-getaccountnet.md): Query bandwidth information. This endpoint supports both POST and GET methods. - [GetAccountResource](https://docs.tatum.io/reference/rpc-tron-getaccountresource.md): Query the resource information of an account(bandwidth,energy,etc) This endpoint supports both POST and GET methods. - [GetAkFromAsk](https://docs.tatum.io/reference/rpc-tron-getakfromask.md): Note:To ensure security, Trongrid has disabled this interface service, please use the service provided by the local node. This endpoint supports both POST and GET methods. - [GetAssetIssueByAccount](https://docs.tatum.io/reference/rpc-tron-getassetissuebyaccount.md): Query the TRC10 token information issued by an account. This endpoint supports both POST and GET methods. - [GetAssetIssueById](https://docs.tatum.io/reference/rpc-tron-getassetissuebyid.md): Query a token by token id. Returns the token object, which contains the token name. This endpoint supports both POST and GET methods. - [GetAssetIssueByName](https://docs.tatum.io/reference/rpc-tron-getassetissuebyname-copy.md): Query a token by name, returns token info. This endpoint supports both POST and GET methods. - [GetAssetIssueList](https://docs.tatum.io/reference/rpc-tron-getassetissuelist.md): Query the list of all the TRC10 tokens. This endpoint supports both POST and GET methods. - [GetAssetIssueListByName](https://docs.tatum.io/reference/rpc-tron-getassetissuelistbyname-copy.md): Query the list of all the TRC10 tokens by a name. This endpoint supports both POST and GET methods. - [GetAvailableUnfreezeCount](https://docs.tatum.io/reference/rpc-tron-getavailableunfreezecount.md): Remaining times of executing unstake operation in Stake2.0 This endpoint supports both POST and GET methods. - [GetBandwidthPrices](https://docs.tatum.io/reference/rpc-tron-getbandwidthprices.md): Query historical bandwidth unit price This endpoint supports both POST and GET methods. - [GetBlock](https://docs.tatum.io/reference/rpc-tron-getblock.md): Query block header information or entire block information according to block height or block hash This endpoint supports both POST and GET methods. - [GetBlockBalance](https://docs.tatum.io/reference/rpc-tron-getblockbalance.md): Get all balance change operations in a block.(Note: At present, the interface data can only be queried through the following official nodes 13.228.119.63 & 18.139.193.235&18.141.79.38 &18.139.248.26) This endpoint supports both POST and GET methods. - [GetBlockById](https://docs.tatum.io/reference/rpc-tron-getblockbyid.md): Query block by ID(block hash). This endpoint supports both POST and GET methods. - [GetBlockByLimitNext](https://docs.tatum.io/reference/rpc-tron-getblockbylimitnext.md): Returns the list of Block Objects included in the 'Block Height' range specified. This endpoint supports both POST and GET methods. - [GetBurnTRX](https://docs.tatum.io/reference/rpc-tron-getburntrx.md): Query the amount of TRX burned due to on-chain transaction fees since [No. 54 Committee Proposal ](https://tronscan.org/#/proposal/54) took effect This endpoint supports both POST and GET methods. - [GetCanDelegatedMaxSize](https://docs.tatum.io/reference/rpc-tron-getcandelegatedmaxsize.md): In Stake2.0, query the amount of delegatable resources share of the specified resource type for an address, unit is sun. This endpoint supports both POST and GET methods. - [GetCanWithdrawUnfreezeAmount](https://docs.tatum.io/reference/rpc-tron-getcanwithdrawunfreezeamount.md): Query the withdrawable balance at the specified timestamp In Stake2.0 This endpoint supports both POST and GET methods. - [GetContractInfo](https://docs.tatum.io/reference/rpc-tron-getcontractinfo.md): Queries a contract's information from the blockchain. The difference from the `wallet/getcontract` interface is that this interface returns not only the `bytecode` but also the `runtime bytecode` of the contract. Compared with `bytecode`, `runtime bytecode` does not contain constructor and constructor parameter information. This endpoint supports both POST and GET methods. - [GetDelegatedResource](https://docs.tatum.io/reference/rpc-tron-getdelegatedresource.md): Returns all resources delegations during stake1.0 phase from an account to another account. The fromAddress can be retrieved from the GetDelegatedResourceAccountIndex API. This endpoint supports both POST and GET methods. - [GetDelegatedResourceAccountIndex](https://docs.tatum.io/reference/rpc-tron-getdelegatedresourceaccountindex.md): Query the resource delegation by an account during stake1.0 phase. i.e. list all addresses that have delegated resources to an account. This endpoint supports both POST and GET methods. - [GetDelegatedResourceAccountIndexV2](https://docs.tatum.io/reference/rpc-tron-getdelegatedresourceaccountindexv2.md): In Stake2.0, query the resource delegation index by an account. Two lists will return, one is the list of addresses the account has delegated its resources(toAddress), and the other is the list of addresses that have delegated resources to the account(fromAddress). This endpoint supports both POST and GET methods. - [GetDelegatedResourceV2](https://docs.tatum.io/reference/rpc-tron-getdelegatedresourcev2.md): In Stake2.0, query the detail of resource share delegated from fromAddress to toAddress This endpoint supports both POST and GET methods. - [GetDiversifier](https://docs.tatum.io/reference/rpc-tron-getdiversifier.md): Get the diversifier This endpoint supports both POST and GET methods. - [GetEnergyPrices](https://docs.tatum.io/reference/rpc-tron-getenergyprices.md): Query historical energy unit price This endpoint supports both POST and GET methods. - [GetExpandedSpendingKey](https://docs.tatum.io/reference/rpc-tron-getexpandedspendingkey.md): Note:To ensure security, Trongrid has disabled this interface service, please use the service provided by the local node. This endpoint supports both POST and GET methods. - [GetIncomingViewingKey](https://docs.tatum.io/reference/rpc-tron-getincomingviewingkey.md): Get the incoming viewing key from ak and nk This endpoint supports both POST and GET methods. - [GetNewShieldedAddress](https://docs.tatum.io/reference/rpc-tron-getnewshieldedaddress.md): Note:To ensure security, Trongrid has disabled this interface service, please use the service provided by the local node. This endpoint supports both POST and GET methods. - [GetNextMaintenanceTime](https://docs.tatum.io/reference/rpc-tron-getnextmaintenancetime.md): Returns the timestamp of the next voting time in milliseconds. This endpoint supports both POST and GET methods. - [GetNkFromNsk](https://docs.tatum.io/reference/rpc-tron-getnkfromnsk.md): Get the nk from nsk This endpoint supports both POST and GET methods. - [GetPaginatedAssetIssueList](https://docs.tatum.io/reference/rpc-tron-getpaginatedassetissuelist.md): Query the list of all the tokens by pagination.Returns a list of Tokens that succeed the Token located at offset. This endpoint supports both POST and GET methods. - [GetPendingSize](https://docs.tatum.io/reference/rpc-tron-getpendingsize.md): Get the size of the pending pool queue This endpoint supports both POST and GET methods. - [GetProposalById](https://docs.tatum.io/reference/rpc-tron-getproposalbyid.md): Queries proposal based on ID and returns proposal details. This endpoint supports both POST and GET methods. - [GetSpendingKey](https://docs.tatum.io/reference/rpc-tron-getspendingkey.md): Note:To ensure security, Trongrid has disabled this interface service, please use the service provided by the local node. This endpoint supports both POST and GET methods. - [GetTransactionFromPending](https://docs.tatum.io/reference/rpc-tron-gettransactionfrompending.md): Get transaction details from the pending pool This endpoint supports both POST and GET methods. - [GetTransactionInfoByBlockNum](https://docs.tatum.io/reference/rpc-tron-gettransactioninfobyblocknum.md): Query the transaction fee, block height by block number This endpoint supports both POST and GET methods. - [GetTransactionInfoById](https://docs.tatum.io/reference/rpc-tron-gettransactioninfobyid.md): Query the transaction fee, block height by transaction id This endpoint supports both POST and GET methods. - [GetTransactionListFromPending](https://docs.tatum.io/reference/rpc-tron-gettransactionlistfrompending.md): Get transaction list information from pending pool This endpoint supports both POST and GET methods. - [GetTriggerInputForShieldedTrc20Contract](https://docs.tatum.io/reference/rpc-tron-gettriggerinputforshieldedtrc20contract.md): Get trigger input for shielded TRC20 contract. This endpoint supports both POST and GET methods. - [GetZenPaymentAddress](https://docs.tatum.io/reference/rpc-tron-getzenpaymentaddress.md): This endpoint supports both POST and GET methods. - [GetApprovedList](https://docs.tatum.io/reference/rpc-tron-http-getapprovedlist.md): Query the account address list which signed the transaction. This endpoint supports both POST and GET methods. - [IsShieldedTrc20ContractNoteSpent](https://docs.tatum.io/reference/rpc-tron-isshieldedtrc20contractnotespent.md): Check if the note is spent. This endpoint supports both POST and GET methods. - [ListWitnesses](https://docs.tatum.io/reference/rpc-tron-listwitnesses.md): List all Super Representatives. This endpoint supports both POST and GET methods. - [ParticipateAssetIssue](https://docs.tatum.io/reference/rpc-tron-participateassetissue.md): Participate in an asset issue. This endpoint supports both POST and GET methods. - [ProposalApprove](https://docs.tatum.io/reference/rpc-tron-proposalapprove.md): Approves proposed transaction. This endpoint supports both POST and GET methods. - [ProposalCreate](https://docs.tatum.io/reference/rpc-tron-proposalcreate.md): Creates a proposal transaction. This endpoint supports both POST and GET methods. - [ProposalDelete](https://docs.tatum.io/reference/rpc-tron-proposaldelete.md): Deletes Proposal Transaction. This endpoint supports both POST and GET methods. - [ScanShieldedTrc20NotesByIvk](https://docs.tatum.io/reference/rpc-tron-scanshieldedtrc20notesbyivk.md): Scan outgoing notes. This endpoint supports both POST and GET methods. - [ScanShieldedTrc20NotesByOvk](https://docs.tatum.io/reference/rpc-tron-scanshieldedtrc20notesbyovk.md): Scan outgoing notes(spent). This endpoint supports both POST and GET methods. - [TransferAsset](https://docs.tatum.io/reference/rpc-tron-transferasset.md): Transfer TRC10 token. This endpoint supports both POST and GET methods. - [TriggerConstantContract](https://docs.tatum.io/reference/rpc-tron-triggerconstantcontract.md): Invoke the readonly function (modified by the `view` or `pure` modifier) of a contract for contract data query; or Invoke the non-readonly function of a contract for predicting whether the transaction can be successfully executed and estimating the energy consumption; or estimate the energy consumption of contract deployment This endpoint supports both POST and GET methods. - [TriggerSmartContract](https://docs.tatum.io/reference/rpc-tron-triggersmartcontract.md): Returns TransactionExtention, which contains the unsigned Transaction This endpoint supports both POST and GET methods. - [UnDelegateResource](https://docs.tatum.io/reference/rpc-tron-undelegateresource.md): Cancel the delegation of bandwidth or energy resources to other accounts in Stake2.0 This endpoint supports both POST and GET methods. - [UnfreezeAsset](https://docs.tatum.io/reference/rpc-tron-unfreezeasset.md): Unstake a token that has passed the minimum freeze duration. This endpoint supports both POST and GET methods. - [UnfreezeBalanceV2](https://docs.tatum.io/reference/rpc-tron-unfreezebalancev2.md): Unstake some TRX staked in Stake2.0, release the corresponding amount of bandwidth or energy, and voting rights (TP) This endpoint supports both POST and GET methods. - [UpdateAccount](https://docs.tatum.io/reference/rpc-tron-updateaccount.md): Modify account name This endpoint supports both POST and GET methods. - [UpdateWitness](https://docs.tatum.io/reference/rpc-tron-updatewitness.md): Edit the URL of the SR's official website. This endpoint supports both POST and GET methods. - [ValidateAddress](https://docs.tatum.io/reference/rpc-tron-validateaddress.md): Validates address, returns either true or false. This endpoint supports both POST and GET methods. - [VoteWitnessAccount](https://docs.tatum.io/reference/rpc-tron-votewitnessaccount.md): Vote for super representatives This endpoint supports both POST and GET methods. - [DeployContract](https://docs.tatum.io/reference/rpc-tron-wallet-deploycontract.md): Deploys a contract. Returns TransactionExtention, which contains an unsigned transaction. This endpoint supports both POST and GET methods. - [GetBlockByLatestNum](https://docs.tatum.io/reference/rpc-tron-wallet-getblockbylatestnum.md): Returns a list of block objects. This endpoint supports both POST and GET methods. - [GetBlockByNum](https://docs.tatum.io/reference/rpc-tron-wallet-getblockbynum.md): Returns the Block Object corresponding to the 'Block Height' specified (number of blocks preceding it). This endpoint supports both POST and GET methods. - [GetChainParameters](https://docs.tatum.io/reference/rpc-tron-wallet-getchainparameters.md): All parameters that the blockchain committee can set This endpoint supports both POST and GET methods. - [GetContract](https://docs.tatum.io/reference/rpc-tron-wallet-getcontract.md): Queries a contract's information from the blockchain, including the bytecode of the contract, ABI, configuration parameters, etc. This endpoint supports both POST and GET methods. - [GetExchangeById](https://docs.tatum.io/reference/rpc-tron-wallet-getexchangebyid.md): Query exchange pair based on id This endpoint supports both POST and GET methods. - [GetNodeInfo](https://docs.tatum.io/reference/rpc-tron-wallet-getnodeinfo.md): Query Node Information. Returns information about current state of node. This endpoint supports both POST and GET methods. - [GetNowBlock](https://docs.tatum.io/reference/rpc-tron-wallet-getnowblock.md): Query the latest block information This endpoint supports both POST and GET methods. - [GetTransactionById](https://docs.tatum.io/reference/rpc-tron-wallet-gettransactionbyid.md): Query transaction information by transaction id. This endpoint supports both POST and GET methods. - [ListExchanges](https://docs.tatum.io/reference/rpc-tron-wallet-listexchanges.md): List all exchange pairs. This endpoint supports both POST and GET methods. - [ListNodes](https://docs.tatum.io/reference/rpc-tron-wallet-listnodes.md): Query the list of nodes connected to the API node This endpoint supports both POST and GET methods. - [ListProposals](https://docs.tatum.io/reference/rpc-tron-wallet-listproposals.md): List all proposals. This endpoint supports both POST and GET methods. - [UpdateAsset](https://docs.tatum.io/reference/rpc-tron-wallet-updateasset.md): Update basic TRC10 token information. This endpoint supports both POST and GET methods. - [UpdateBrokerage](https://docs.tatum.io/reference/rpc-tron-wallet-updatebrokerage.md): Update the SR's brokerage setting. This endpoint supports both POST and GET methods. - [UpdateEnergyLimit](https://docs.tatum.io/reference/rpc-tron-wallet-updateenergylimit.md): Update the origin_energy_limit parameter of a smart contract This endpoint supports both POST and GET methods. - [UpdateSetting](https://docs.tatum.io/reference/rpc-tron-wallet-updatesetting.md): Update the consume_user_resource_percent parameter of a smart contract This endpoint supports both POST and GET methods. - [WithdrawBalance](https://docs.tatum.io/reference/rpc-tron-withdrawbalance.md): Super Representative or user withdraw rewards, usable every 24 hours. Super representatives can withdraw the balance from the account allowance into the account balance, Users can claim the voting reward from the SRs and deposit into his account balance. This endpoint supports both POST and GET methods. - [WithdrawExpireUnfreeze](https://docs.tatum.io/reference/rpc-tron-withdrawexpireunfreeze.md): Withdraw unfrozen balance in Stake2.0, the user can call this API to get back their funds after executing /wallet/unfreezebalancev2 transaction and waiting N days, N is a network parameter This endpoint supports both POST and GET methods. - [GetAssetIssueById](https://docs.tatum.io/reference/rpc-tron-solidity-getassetissuebyid.md): Query a token by token id. Returns the token object, which contains the token name. (Confirmed state) This endpoint supports both POST and GET methods. - [GetAssetIssueList](https://docs.tatum.io/reference/rpc-tron-solidity-getassetissuelist.md): Query the list of all the TRC10 tokens (Confirmed state) This endpoint supports both POST and GET methods. - [GetAssetIssueListByName](https://docs.tatum.io/reference/rpc-tron-solidity-getassetissuelistbyname.md): Query the list of all the TRC10 tokens by a name. (Confirmed state) This endpoint supports both POST and GET methods. - [GetAvailableUnfreezeCount](https://docs.tatum.io/reference/rpc-tron-solidity-getavailableunfreezecount.md): Stake 2.0 API remaining times of executing unstake operation. (Confirmed state) This endpoint supports both POST and GET methods. - [GetBlockById](https://docs.tatum.io/reference/rpc-tron-solidity-getblockbyid.md): Query block by ID(block hash). (Confirmed state) This endpoint supports both POST and GET methods. - [GetBlockByLatestNum](https://docs.tatum.io/reference/rpc-tron-solidity-getblockbylatestnum.md): Get the latest block by block number This endpoint supports both POST and GET methods. - [GetBlockByLimitNext](https://docs.tatum.io/reference/rpc-tron-solidity-getblockbylimitnext.md): Returns the list of Block Objects included in the 'Block Height' range specified. (Confirmed state) This endpoint supports both POST and GET methods. - [GetBlockByNum](https://docs.tatum.io/reference/rpc-tron-solidity-getblockbynum.md): Queries whether a specified block is confirmed,If the block can be obtained, the block is confirmed by the network; if the block cannot be obtained, the block is not confirmed by the network This endpoint supports both POST and GET methods. - [GetCanDelegatedMaxSize](https://docs.tatum.io/reference/rpc-tron-solidity-getcandelegatedmaxsize.md): Stake2.0 API query the amount of delegatable resources share of the specified resource type for an address, unit is sun. (Confirmed state) This endpoint supports both POST and GET methods. - [GetCanWithdrawUnfreezeAmount](https://docs.tatum.io/reference/rpc-tron-solidity-getcanwithdrawunfreezeamount.md): Stake2.0 API query the withdrawable balance at the specified timestamp (confirmed state) This endpoint supports both POST and GET methods. - [GetDelegatedResource](https://docs.tatum.io/reference/rpc-tron-solidity-getdelegatedresource.md): Returns all resources delegations from an account to another account during stake1.0 phase. The fromAddress can be retrieved from the GetDelegatedResourceAccountIndex API. (Confirmed state) This endpoint supports both POST and GET methods. - [GetDelegatedResourceAccountIndexV2](https://docs.tatum.io/reference/rpc-tron-solidity-getdelegatedresourceaccountindexv2.md): Stake 2.0 API query the resource delegation index by an account (confirmed state). Two lists will return, one is the list of addresses the account has delegated its resources(toAddress), and the other is the list of addresses that have delegated resources to the account(fromAddress). This endpoint supports both POST and GET methods. - [GetExchangeById](https://docs.tatum.io/reference/rpc-tron-solidity-getexchangebyid.md): Query exchange pair based on id (Confirmed state) This endpoint supports both POST and GET methods. - [GetNodeInfo](https://docs.tatum.io/reference/rpc-tron-solidity-getnodeinfo.md): Query Node Information. Returns information about current state of node. (Confirmed state) This endpoint supports both POST and GET methods. - [GetNowBlock](https://docs.tatum.io/reference/rpc-tron-solidity-getnowblock.md): Get the latest block This endpoint supports both POST and GET methods. - [GetPaginatedAssetIssueList](https://docs.tatum.io/reference/rpc-tron-solidity-getpaginatedassetissuelist.md): Query the list of all the tokens by pagination (confirmed state). Returns a list of Tokens that succeed the Token located at offset. This endpoint supports both POST and GET methods. - [GetTransactionById](https://docs.tatum.io/reference/rpc-tron-solidity-gettransactionbyid.md): Get transaction information by transaction id This endpoint supports both POST and GET methods. - [GetTransactionCountByBlockNum](https://docs.tatum.io/reference/rpc-tron-solidity-gettransactioncountbyblocknum.md): Get transaction count in a block by block number. (Confirmed state) This endpoint supports both POST and GET methods. - [GetTransactionInfoByBlockNum](https://docs.tatum.io/reference/rpc-tron-solidity-gettransactioninfobyblocknum.md): Get transaction information by block number This endpoint supports both POST and GET methods. - [GetTransactionInfoById](https://docs.tatum.io/reference/rpc-tron-solidity-gettransactioninfobyid.md): Query the transaction fee, block height by transaction id. (Confirmed state) This endpoint supports both POST and GET methods. - [IsShieldedTrc20ContractNoteSpent](https://docs.tatum.io/reference/rpc-tron-solidity-isshieldedtrc20contractnotespent.md): Check if the note is spent. (Confirmed state) This endpoint supports both POST and GET methods. - [ListExchanges](https://docs.tatum.io/reference/rpc-tron-solidity-listexchanges.md): List all exchange pairs. (Confirmed state) This endpoint supports both POST and GET methods. - [ListWitnesses](https://docs.tatum.io/reference/rpc-tron-solidity-listwitnesses.md): List all Super Representatives (Confirmed state) This endpoint supports both POST and GET methods. - [ScanShieldedTrc20NotesByIvk](https://docs.tatum.io/reference/rpc-tron-solidity-scanshieldedtrc20notesbyivk.md): Scan outgoing notes. (Confirmed state) This endpoint supports both POST and GET methods. - [ScanShieldedTrc20NotesByOvk](https://docs.tatum.io/reference/rpc-tron-solidity-scanshieldedtrc20notesbyovk.md): Scan outgoing notes(spent). (Confirmed state) This endpoint supports both POST and GET methods. - [GetAccount](https://docs.tatum.io/reference/rpc-tron-solidity-walletsolidity-getaccount.md): Query information about an account, including TRX balance, TRC-10 balances, stake information and vote information and permissions etc. (Confirmed state) This endpoint supports both POST and GET methods. - [Generate a TRON wallet](https://docs.tatum.io/reference/generatetronwallet.md):

    /v3/tron/wallet

    1 credit per API call

    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for Bitcoin wallet with derivation path m'/44'/195'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/tron/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Tron wallet.

    - [Get all transactions for a TRON account](https://docs.tatum.io/reference/tronaccounttx.md):

    /v3/tron/transaction/account/{address}

    5 credits per API call

    Get all transactions for a TRON account.

    This API returns up to 200 transactions in one API call. If there are more than 200 transactions for the TRON account, the response body will contain the next parameter with the fingerprint of the transaction that follows the last (200th) transaction in the returned list.

    To get the next 200 transactions, make another call using this API, but this time add the next parameter the endpoint URL and set it to the transaction fingerprint from the next parameter in the response, for example:

    https://api.tatum.io/v3/tron/transaction/account/{address}?next=81d0524acf5967f3b361e03fd7d141ab511791cd7aad7ae406c4c8d408290991

    - [Get TRC-20 transactions for a TRON account](https://docs.tatum.io/reference/tronaccounttx20.md):

    /v3/tron/transaction/account/{address}/trc20

    5 credits per API call

    Get TRC-20 transactions for a TRON account.

    This API returns up to 200 transactions in one API call. If there are more than 200 transactions for the TRON account, the response body will contain the next parameter with the fingerprint of the transaction that follows the last (200th) transaction in the returned list.

    To get the next 200 transactions, make another call using this API, but this time add the next parameter the endpoint URL and set it to the transaction fingerprint from the next parameter in the response, for example:

    https://api.tatum.io/v3/tron/transaction/account/{address}/trc20?next=81d0524acf5967f3b361e03fd7d141ab511791cd7aad7ae406c4c8d408290991

    - [Broadcast a TRON transaction](https://docs.tatum.io/reference/tronbroadcast.md):

    /v3/tron/broadcast

    5 credits per API call

    Broadcast Tron transaction. This method is used internally from Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Create a TRC-10 token](https://docs.tatum.io/reference/troncreatetrc10.md):

    /v3/tron/trc10/deploy

    10 credits per API call

    Create a TRON TRC-10 token.

    One TRON account can create only one TRC-10 token. The whole supply of the token is transferred to the issuer's account 100 seconds after the token has been created.

    Signing a transaction
    When creating a TRC-10 token, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Create a TRC-20 token](https://docs.tatum.io/reference/troncreatetrc20.md):

    /v3/tron/trc20/deploy

    10 credits per API call

    Create a TRON TRC-20 capped token. A capped TRC20 token is a type of token on the TRON blockchain that has a preset limit on the total number of tokens that can be created. This limit is specified during the token creation process and cannot be exceeded. Once the limit is reached, no more tokens can be minted. This feature helps to ensure the scarcity and value of the token and can provide investors with a sense of security. It is a popular choice for fundraising, as it allows for a predetermined amount of funds to be raised through the sale of tokens, and any excess tokens that are not sold are simply not minted.

    Signing a transaction
    When creating a TRC-20 token, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Freeze the balance of a TRON account](https://docs.tatum.io/reference/tronfreeze.md):

    /v3/tron/freezeBalance

    10 credits per API call

    Freeze Tron assets on the address. By freezing assets, you can obtain energy or bandwidth to perform transactions.

    Signing a transaction
    When freezing the balance, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Generate a TRON address from the wallet's extended public key](https://docs.tatum.io/reference/trongenerateaddress.md):

    /v3/tron/address/{xpub}/{index}

    5 credits per API call

    Generate a TRON address from the extended public key of the wallet. The address is generated for the specific index - each extended public key can generate up to 2^32 addresses with the index starting from 0 up to 2^31.

    - [Generate the private key for a TRON address](https://docs.tatum.io/reference/trongenerateaddressprivatekey.md):

    /v3/tron/wallet/priv

    10 credits per API call

    Generate private key for address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^31 private keys starting from index 0 until 2^31.

    - [Get the TRON account by its address](https://docs.tatum.io/reference/trongetaccount.md):

    /v3/tron/account/{address}

    5 credits per API call

    Get Tron account by address.

    - [Get a TRON block by its hash or height](https://docs.tatum.io/reference/trongetblock.md):

    ⚠️ Deprecated: Get a TRON block by its hash or height


    GET /v3/tron/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch the TRON block details by hash or height. This endpoint returns information about a specific block.


    Explore Docs →

    /v3/tron/block/{hash}

    5 credits per API call

    Get Tron block by hash or height.

    - [Get the current TRON block](https://docs.tatum.io/reference/trongetcurrentblock.md):

    /v3/tron/info

    5 credits per API call

    Get current Tron block.

    - [Get a TRON transaction by its hash](https://docs.tatum.io/reference/trongettransaction.md):

    ⚠️ Deprecated: Get a TRON transaction by its hash


    GET /v3/tron/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch the TRON transaction details by hash. This endpoint returns information about a specific transaction.


    Explore Docs →

    /v3/tron/transaction/{hash}

    5 credits per API call

    Get Tron transaction by hash.

    - [Send TRX to a TRON account](https://docs.tatum.io/reference/trontransfer.md):

    /v3/tron/transaction

    10 credits per API call

    Send an amount in TRX from address to address.

    Signing a transaction

    When sending TRX to a TRON account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send TRC-10 tokens to a TRON account](https://docs.tatum.io/reference/trontransfertrc10.md):

    /v3/tron/trc10/transaction

    10 credits per API call

    Send TRC-10 tokens from address to address.

    Signing a transaction

    When sending TRC-10 tokens to a TRON account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send TRC-20 tokens to a TRON account](https://docs.tatum.io/reference/trontransfertrc20.md):

    /v3/tron/trc20/transaction

    10 credits per API call

    Send TRC-20 tokens from address to address.

    Signing a transaction

    When sending TRC-20 tokens to a TRON account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Get information about a TRC-10 token](https://docs.tatum.io/reference/trontrc10detail.md):

    /v3/tron/trc10/detail/{idOrOwnerAddress}

    5 credits per API call

    Get information about a TRON TRC-10 token.

    - [Unfreeze the balance of a TRON account](https://docs.tatum.io/reference/tronunfreeze.md):

    /v3/tron/unfreezeBalance

    10 credits per API call

    Unfreeze Tron assets on the address. By unfreezing assets, you can unlock your staked TRX.

    Signing a transaction
    When unfreezing the balance, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Unichain](https://docs.tatum.io/reference/rpc-unichain.md): Explore Unichain, a high-performance Layer 2 built by Uniswap Labs for DeFi and cross-chain liquidity. Build fast, low-cost dApps using its Optimism-based infrastructure. - [VeChain](https://docs.tatum.io/reference/rpc-vechain.md): Discover VeChain, a blockchain optimized for enterprise solutions and supply chain management. Build decentralized applications using its RPC gateway. - [Send VeChain from account to account](https://docs.tatum.io/reference/vetblockchaintransfer.md):

    /v3/vet/transaction

    10 credits per API call.


    Send VET from account to account. Fee for the transaction is paid in VTHO.

    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Broadcast signed VeChain transaction](https://docs.tatum.io/reference/vetbroadcast.md):

    /v3/vet/broadcast

    5 credits per API call.


    Broadcast signed transaction to VeChain blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate VeChain account address from Extended public key](https://docs.tatum.io/reference/vetgenerateaddress.md):

    /v3/vet/address/{xpub}/{index}

    5 credits per API call.


    Generate VeChain account deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31 - 1.

    - [Generate VeChain private key](https://docs.tatum.io/reference/vetgenerateaddressprivatekey.md):

    /v3/vet/wallet/priv

    5 credits per API call.


    Generate private key of address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^32 private keys starting from index 0 until 2^31 - 1.

    - [Generate VeChain wallet](https://docs.tatum.io/reference/vetgeneratewallet.md):

    /v3/vet/wallet

    5 credits per API call.


    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for VeChain wallet with derivation path m'/44'/818'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible VeChain wallet.

    - [Get VeChain Account balance](https://docs.tatum.io/reference/vetgetbalance.md):

    ⚠️ Deprecated: Get VeChain Account Balance


    GET /v3/vet/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Fetch the VeChain account balance in VET. This endpoint returns the balance for a specific address.


    Explore Docs →

    /v3/vet/account/balance/{address}

    5 credits per API call.


    Get VeChain Account balance in VET.

    - [Get VeChain Block by hash](https://docs.tatum.io/reference/vetgetblock.md):

    ⚠️ Deprecated: Get VeChain Block


    GET /v3/vet/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch the VeChain block details by block hash or block number. This endpoint returns information about a specific block.


    Explore Docs →

    /v3/vet/block/{hash}

    5 credits per API call.


    Get VeChain Block by block hash or block number.

    - [Get VeChain current block](https://docs.tatum.io/reference/vetgetcurrentblock.md):

    /v3/vet/block/current

    5 credits per API call.


    Get VeChain current block number.

    - [Get VeChain Account energy (VTHO)](https://docs.tatum.io/reference/vetgetenergy.md):

    /v3/vet/account/energy/{address}

    5 credits per API call.


    Get VeChain Account energy in VTHO. VTHO is used for paying for the transaction fee.

    - [Get VeChain Transaction](https://docs.tatum.io/reference/vetgettransaction.md):

    ⚠️ Deprecated: Get VeChain Transaction by hash


    GET /v3/vet/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch the VeChain transaction details by transaction hash. This endpoint returns information about a specific transaction.


    Explore Docs →

    /v3/vet/transaction/{hash}

    10 credits per API call.


    Get VeChain Transaction by transaction hash.

    - [Get VeChain Transaction Receipt](https://docs.tatum.io/reference/vetgettransactionreceipt.md):

    /v3/vet/transaction/{hash}/receipt

    5 credits per API call.


    Get VeChain Transaction Receipt by transaction hash. Transaction receipt is available only after transaction is included in the block and contains information about paid fee or created contract address and much more.

    - [Xinfin](https://docs.tatum.io/reference/rpc-xinfin.md): Explore XinFin, a hybrid blockchain optimized for global trade and finance. Build enterprise-grade dApps using its RPC gateway. - [debug_getbadblocks](https://docs.tatum.io/reference/rpc-xinfin-debug_getbadblocks.md): Xinfin RPC - [debug_storagerangeat](https://docs.tatum.io/reference/rpc-xinfin-debug_storagerangeat.md): Xinfin RPC - [debug_traceblock](https://docs.tatum.io/reference/rpc-xinfin-debug_traceblock.md): Xinfin RPC - [debug_traceblockbyhash](https://docs.tatum.io/reference/rpc-xinfin-debug_traceblockbyhash.md): Xinfin RPC - [debug_traceblockbynumber](https://docs.tatum.io/reference/rpc-xinfin-debug_traceblockbynumber.md): Xinfin RPC - [debug_tracecall](https://docs.tatum.io/reference/rpc-xinfin-debug_tracecall.md): Xinfin RPC - [debug_tracetransaction](https://docs.tatum.io/reference/rpc-xinfin-debug_tracetransaction.md): Xinfin RPC - [eth_blocknumber](https://docs.tatum.io/reference/rpc-xinfin-eth_blocknumber.md): Xinfin RPC - [eth_call](https://docs.tatum.io/reference/rpc-xinfin-eth_call.md): Xinfin RPC - [eth_chainid](https://docs.tatum.io/reference/rpc-xinfin-eth_chainid.md): Xinfin RPC - [eth_estimategas](https://docs.tatum.io/reference/rpc-xinfin-eth_estimategas.md): Xinfin RPC - [eth_feehistory](https://docs.tatum.io/reference/rpc-xinfin-eth_feehistory.md): Xinfin RPC - [eth_gasprice](https://docs.tatum.io/reference/rpc-xinfin-eth_gasprice.md): Xinfin RPC - [eth_getbalance](https://docs.tatum.io/reference/rpc-xinfin-eth_getbalance.md): Xinfin RPC - [eth_getblockbyhash](https://docs.tatum.io/reference/rpc-xinfin-eth_getblockbyhash.md): Xinfin RPC - [eth_getblockbynumber](https://docs.tatum.io/reference/rpc-xinfin-eth_getblockbynumber.md): Xinfin RPC - [eth_getblocktransactioncountbyhash](https://docs.tatum.io/reference/rpc-xinfin-eth_getblocktransactioncountbyhash.md): Xinfin RPC - [eth_getblocktransactioncountbynumber](https://docs.tatum.io/reference/rpc-xinfin-eth_getblocktransactioncountbynumber.md): Xinfin RPC - [eth_getcode](https://docs.tatum.io/reference/rpc-xinfin-eth_getcode.md): Xinfin RPC - [eth_getlogs](https://docs.tatum.io/reference/rpc-xinfin-eth_getlogs.md): Xinfin RPC - [eth_getproof](https://docs.tatum.io/reference/rpc-xinfin-eth_getproof.md): Xinfin RPC - [eth_getstorageat](https://docs.tatum.io/reference/rpc-xinfin-eth_getstorageat.md): Xinfin RPC - [eth_gettransactionbyblockhashandindex](https://docs.tatum.io/reference/rpc-xinfin-eth_gettransactionbyblockhashandindex.md): Xinfin RPC - [eth_gettransactionbyblocknumberandindex](https://docs.tatum.io/reference/rpc-xinfin-eth_gettransactionbyblocknumberandindex.md): Xinfin RPC - [eth_gettransactionbyhash](https://docs.tatum.io/reference/rpc-xinfin-eth_gettransactionbyhash.md): Xinfin RPC - [eth_gettransactioncount](https://docs.tatum.io/reference/rpc-xinfin-eth_gettransactioncount.md): Xinfin RPC - [eth_gettransactionreceipt](https://docs.tatum.io/reference/rpc-xinfin-eth_gettransactionreceipt.md): Xinfin RPC - [eth_getunclecountbyblockhash](https://docs.tatum.io/reference/rpc-xinfin-eth_getunclecountbyblockhash.md): Xinfin RPC - [eth_getunclecountbyblocknumber](https://docs.tatum.io/reference/rpc-xinfin-eth_getunclecountbyblocknumber.md): Xinfin RPC - [eth_maxpriorityfeepergas](https://docs.tatum.io/reference/rpc-xinfin-eth_maxpriorityfeepergas.md): Xinfin RPC - [eth_sendrawtransaction](https://docs.tatum.io/reference/rpc-xinfin-eth_sendrawtransaction.md): Xinfin RPC - [txpool_content](https://docs.tatum.io/reference/rpc-xinfin-txpool_content.md): Xinfin RPC - [txpool_inspect](https://docs.tatum.io/reference/rpc-xinfin-txpool_inspect.md): Xinfin RPC - [txpool_status](https://docs.tatum.io/reference/rpc-xinfin-txpool_status.md): Xinfin RPC - [web3_clientversion](https://docs.tatum.io/reference/rpc-xinfin-web3_clientversion.md): Xinfin RPC - [Invoke a method in a smart contract on XinFin](https://docs.tatum.io/reference/xdcblockchainsmartcontractinvocation.md):

    /v3/xdc/smartcontract

    2 credits per API call

    Invoke a method in an existing smart contract on XinFin.

    You can call a read-only or write method.

    Troubleshooting a failed transaction
    Tatum ensures that this API works against the blockchain (accesses the blockchain, finds the specified smart contract, and executes the specified ABI method with the provided parameters).
    However, because this API can be run against any smart contract on the blockchain, Tatum cannot in any way guarantee that the method itself will be executed successfully.

    If you have issues with invoking the method, refer to the user documentation for this method, or contact the author of the smart contract.

    For more information about invoking methods in smart contracts, see this article on our Support Portal.

    Signing a transaction
    When invoking a method in a smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send XDC / ERC20 from account to account](https://docs.tatum.io/reference/xdcblockchaintransfer.md):

    /v3/xdc/transaction

    2 credits per API call

    Send XDC or Tatum supported ERC20 token from account to account.

    Signing a transaction

    When sending XDC, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    Alternatively, using the Tatum client library for supported languages.

    - [Broadcast signed XDC transaction](https://docs.tatum.io/reference/xdcbroadcast.md):

    /v3/xdc/broadcast

    2 credits per API call

    Broadcast signed transaction to XDC blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Generate XDC account address from Extended public key](https://docs.tatum.io/reference/xdcgenerateaddress.md):

    /v3/xdc/address/{xpub}/{index}

    1 credit per API call

    Generate XDC account deposit address from Extended public key. Deposit address is generated for the specific index - each extended public key can generate up to 2^31 addresses starting from index 0 until 2^31.

    - [Generate XDC private key](https://docs.tatum.io/reference/xdcgenerateaddressprivatekey.md):

    /v3/xdc/wallet/priv

    1 credit per API call

    Generate private key of address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^31 private keys starting from index 0 until 2^31.

    - [Generate XDC wallet](https://docs.tatum.io/reference/xdcgeneratewallet.md):

    /v3/xdc/wallet

    1 credit per API call

    Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
    Each address is identified by 3 main values:

    Tatum follows BIP44 specification and generates for XDC wallet with derivation path m'/44'/550'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible XDC wallet.

    - [Get XDC Account balance](https://docs.tatum.io/reference/xdcgetbalance.md):

    ⚠️ Deprecated: Get Balance


    GET /v3/xdc/account/balance/{address} is deprecated.

    Use GET /v4/data/blockchains/balance

    Fetch the balance of a blockchain address, including native and fungible tokens.


    Explore Docs →

    /v3/xdc/account/balance/{address}

    1 credit per API call

    Get account balance in XDC. This method does not prints any balance of the ERC20 or ERC721 tokens on the account.

    - [Get XDC block by hash](https://docs.tatum.io/reference/xdcgetblock.md):

    ⚠️ Deprecated: Get Block


    GET /v3/xdc/block/{hash} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch a specific block from the blockchain by providing the block hash or block number.


    Explore Docs →

    /v3/xdc/block/{hash}

    1 credit per API call

    Get XDC block by block hash or block number.

    - [Get current block number](https://docs.tatum.io/reference/xdcgetcurrentblock.md):

    ⚠️ Deprecated: Get Current Block


    GET /v3/xdc/block/current is deprecated.

    Use GET /v4/data/blockchains/block/current

    Fetch the current block in the blockchain. This endpoint returns the latest block number available.


    Explore Docs →

    /v3/xdc/block/current

    1 credit per API call

    Get XDC current block number. This is the number of the latest block in the blockchain.

    - [Get XDC Transaction](https://docs.tatum.io/reference/xdcgettransaction.md):

    ⚠️ Deprecated: Get Transaction


    GET /v3/xdc/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch a specific transaction from the blockchain by providing the transaction hash.


    Explore Docs →

    /v3/xdc/transaction/{hash}

    2 credits per API call

    Get XDC transaction by transaction hash.

    - [Get count of outgoing XDC transactions](https://docs.tatum.io/reference/xdcgettransactioncount.md):

    ⚠️ Deprecated: Get Transaction Count


    GET /v3/xdc/transaction/count/{address} is deprecated.

    Use GET /v4/data/blockchains/transaction/count

    Fetch the count of transactions for a blockchain address.


    Explore Docs →

    /v3/xdc/transaction/count/{address}

    1 credit per API call

    Get a number of outgoing XDC transactions for the address. When a transaction is sent, there can be multiple outgoing transactions, which are not yet processed by the blockchain. To distinguish between them, there is a counter called a nonce, which represents the order of the transaction in the list of outgoing transactions.

    - [Web3 HTTP driver](https://docs.tatum.io/reference/xdcweb3driver.md):

    /v3/xdc/web3/{xApiKey}

    2 credits per API call

    This endpoint is deprecated. Use the HTTP-based JSON RPC driver instead.


    Use this endpoint URL as a http-based web3 driver to connect directly to the XDC node provided by Tatum. To learn more about XDC Web3, visit the XDC developer's guide.

    - [xlayer](https://docs.tatum.io/reference/rpc-xlayer.md): Discover X Layer, a blockchain platform designed for decentralized applications. Build secure and scalable dApps with its developer-friendly SDK. - [Ripple (XRP)](https://docs.tatum.io/reference/rpc-xrp.md): Discover Ripple (XRP), a blockchain optimized for cross-border payments. Build secure and fast financial applications using its RPC gateway. - [Modify XRP account](https://docs.tatum.io/reference/xrpaccountsettings.md):

    /v3/xrp/account/settings

    10 credits per API call.


    Modify XRP account settings. If an XRP account should be an issuer of the custom asset, this accounts should have rippling enabled to true. In order to support off-chain processing, required destination tag should be set on the account.

    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Broadcast signed XRP transaction](https://docs.tatum.io/reference/xrpbroadcast.md):

    /v3/xrp/broadcast

    5 credits per API call.


    Broadcast signed transaction to XRP blockchain. This method is used internally from Tatum KMS or Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

    - [Get Account Balance](https://docs.tatum.io/reference/xrpgetaccountbalance.md):

    /v3/xrp/account/{account}/balance

    5 credits per API call.


    Get XRP Account Balance. Obtain balance of the XRP and other assets on the account.

    - [Get Account info](https://docs.tatum.io/reference/xrpgetaccountinfo.md):

    /v3/xrp/account/{account}

    5 credits per API call.


    Get XRP Account info.

    - [Get Account transactions](https://docs.tatum.io/reference/xrpgetaccounttx.md):

    /v3/xrp/account/tx/{account}

    5 credits per API call.


    List all Account transactions.

    - [Get actual Blockchain fee](https://docs.tatum.io/reference/xrpgetfee.md):

    /v3/xrp/fee

    5 credits per API call.


    Get XRP Blockchain fee. Standard fee for the transaction is available in the drops.base_fee section and is 10 XRP drops by default. When there is a heavy traffic on the blockchain, fees are increasing according to current traffic.

    - [Get XRP Blockchain Information](https://docs.tatum.io/reference/xrpgetlastclosedledger.md):

    /v3/xrp/info

    5 credits per API call.


    Get XRP Blockchain last closed ledger index and hash.

    - [Get Ledger](https://docs.tatum.io/reference/xrpgetledger.md):

    ⚠️ Deprecated: Get Ledger


    GET /v3/xrp/ledger/{i} is deprecated.

    Use GET /v4/data/blockchains/block

    Fetch the ledger details by sequence number. This endpoint returns information about a specific XRP ledger.


    Explore Docs →

    /v3/xrp/ledger/{i}

    5 credits per API call.


    Get ledger by sequence.

    - [Get XRP Transaction by hash](https://docs.tatum.io/reference/xrpgettransaction.md):

    ⚠️ Deprecated: Get XRP Transaction by hash


    GET /v3/xrp/transaction/{hash} is deprecated.

    Use GET /v4/data/blockchains/transaction

    Fetch the XRP transaction details by transaction hash. This endpoint returns information about a specific transaction.


    Explore Docs →

    /v3/xrp/transaction/{hash}

    5 credits per API call.


    Get XRP Transaction by transaction hash.

    - [Send XRP from address to address](https://docs.tatum.io/reference/xrptransferblockchain.md):

    /v3/xrp/transaction

    10 credits per API call.


    Send XRP from account to account.

    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Create / Update / Delete XRP trust line](https://docs.tatum.io/reference/xrptrustlineblockchain.md):

    /v3/xrp/trust

    10 credits per API call.


    Create / Update / Delete XRP trust line between accounts to transfer private assets. By creating trustline for the first time, the asset is created automatically and can be used in the transactions.
    Account setting rippling must be enabled on the issuer account before the trust line creation to asset work correctly. Creating a trust line will cause an additional 5 XRP to be blocked on the account.

    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Generate XRP account](https://docs.tatum.io/reference/xrpwallet.md):

    /v3/xrp/account

    5 credits per API call.


    Generate XRP account. Tatum does not support HD wallet for XRP, only specific address and private key can be generated.

    - [account_channels](https://docs.tatum.io/reference/rpc-xrp-account_channels.md): XRP RPC - [account_currencies](https://docs.tatum.io/reference/rpc-xrp-account_currencies.md): XRP RPC - [account_info](https://docs.tatum.io/reference/rpc-xrp-account_info.md): XRP RPC - [account_lines](https://docs.tatum.io/reference/rpc-xrp-account_lines.md): XRP RPC - [account_nfts](https://docs.tatum.io/reference/rpc-xrp-account_nfts.md): XRP RPC - [account_objects](https://docs.tatum.io/reference/rpc-xrp-account_objects.md): XRP RPC - [account_offers](https://docs.tatum.io/reference/rpc-xrp-account_offers.md): XRP RPC - [account_tx](https://docs.tatum.io/reference/rpc-xrp-account_tx.md): XRP RPC - [book_offers](https://docs.tatum.io/reference/rpc-xrp-book_offers.md): XRP RPC - [channel_authorize](https://docs.tatum.io/reference/rpc-xrp-channel_authorize.md): XRP RPC - [channel_verify](https://docs.tatum.io/reference/rpc-xrp-channel_verify.md): XRP RPC - [deposit_authorized](https://docs.tatum.io/reference/rpc-xrp-deposit_authorized.md): XRP RPC - [fee](https://docs.tatum.io/reference/rpc-xrp-fee.md): XRP RPC - [ledger_closed](https://docs.tatum.io/reference/rpc-xrp-ledger_closed.md): XRP RPC - [ledger_data](https://docs.tatum.io/reference/rpc-xrp-ledger_data.md): XRP RPC - [ledger_entry](https://docs.tatum.io/reference/rpc-xrp-ledger_entry.md): XRP RPC - [ledger](https://docs.tatum.io/reference/rpc-xrp-ledger.md): XRP RPC - [manifest](https://docs.tatum.io/reference/rpc-xrp-manifest.md): XRP RPC - [nft_buy_offers](https://docs.tatum.io/reference/rpc-xrp-nft_buy_offers.md): XRP RPC - [nft_sell_offers](https://docs.tatum.io/reference/rpc-xrp-nft_sell_offers.md): XRP RPC - [noripple_check](https://docs.tatum.io/reference/rpc-xrp-noripple_check.md): XRP RPC - [ping](https://docs.tatum.io/reference/rpc-xrp-ping.md): XRP RPC - [random](https://docs.tatum.io/reference/rpc-xrp-random.md): XRP RPC - [ripple_path_find](https://docs.tatum.io/reference/rpc-xrp-ripple_path_find.md): XRP RPC - [server_info](https://docs.tatum.io/reference/rpc-xrp-server_info.md): XRP RPC - [server_state](https://docs.tatum.io/reference/rpc-xrp-server_state.md): XRP RPC - [submit_multisigned](https://docs.tatum.io/reference/rpc-xrp-submit_multisigned.md): XRP RPC - [submit](https://docs.tatum.io/reference/rpc-xrp-submit.md): XRP RPC - [transaction_entry](https://docs.tatum.io/reference/rpc-xrp-transaction_entry.md): XRP RPC - [tx](https://docs.tatum.io/reference/rpc-xrp-tx.md): XRP RPC - [Zcash](https://docs.tatum.io/reference/rpc-zcash.md): Explore Zcash, a privacy-focused blockchain using zero-knowledge proofs. Build confidential decentralized applications using its RPC gateway. - [createrawtransaction](https://docs.tatum.io/reference/rpc-zcash-createrawtransaction.md): Zcash RPC - [decoderawtransaction](https://docs.tatum.io/reference/rpc-zcash-decoderawtransaction.md): Zcash RPC - [decodescript](https://docs.tatum.io/reference/rpc-zcash-decodescript.md): Zcash RPC - [estimatesmartfee](https://docs.tatum.io/reference/rpc-zcash-estimatesmartfee.md): Zcash RPC - [getbestblockhash](https://docs.tatum.io/reference/rpc-zcash-getbestblockhash.md): Zcash RPC - [getblock](https://docs.tatum.io/reference/rpc-zcash-getblock.md): Zcash RPC - [getblockchaininfo](https://docs.tatum.io/reference/rpc-zcash-getblockchaininfo.md): Zcash RPC - [getblockcount](https://docs.tatum.io/reference/rpc-zcash-getblockcount.md): Zcash RPC - [getblockhash](https://docs.tatum.io/reference/rpc-zcash-getblockhash.md): Zcash RPC - [getblockheader](https://docs.tatum.io/reference/rpc-zcash-getblockheader.md): Zcash RPC - [getblockstats](https://docs.tatum.io/reference/rpc-zcash-getblockstats.md): Zcash RPC - [getchaintips](https://docs.tatum.io/reference/rpc-zcash-getchaintips.md): Zcash RPC - [getdifficulty](https://docs.tatum.io/reference/rpc-zcash-getdifficulty.md): Zcash RPC - [getmempoolancestors](https://docs.tatum.io/reference/rpc-zcash-getmempoolancestors.md): Zcash RPC - [getmempooldescendants](https://docs.tatum.io/reference/rpc-zcash-getmempooldescendants.md): Zcash RPC - [getmempoolentry](https://docs.tatum.io/reference/rpc-zcash-getmempoolentry.md): Zcash RPC - [getmempoolinfo](https://docs.tatum.io/reference/rpc-zcash-getmempoolinfo.md): Zcash RPC - [getrawmempool](https://docs.tatum.io/reference/rpc-zcash-getrawmempool.md): Zcash RPC - [getrawtransaction](https://docs.tatum.io/reference/rpc-zcash-getrawtransaction.md): Zcash RPC - [gettxout](https://docs.tatum.io/reference/rpc-zcash-gettxout.md): Zcash RPC - [gettxoutproof](https://docs.tatum.io/reference/rpc-zcash-gettxoutproof.md): Zcash RPC - [sendrawtransaction](https://docs.tatum.io/reference/rpc-zcash-sendrawtransaction.md): Zcash RPC - [validateaddress](https://docs.tatum.io/reference/rpc-zcash-validateaddress.md): Zcash RPC - [verifymessage](https://docs.tatum.io/reference/rpc-zcash-verifymessage.md): Zcash RPC - [verifytxoutproof](https://docs.tatum.io/reference/rpc-zcash-verifytxoutproof.md): Zcash RPC - [Zilliqa](https://docs.tatum.io/reference/rpc-zilliqa.md): Explore Zilliqa, a blockchain built for scalability using sharding technology. Build high-throughput decentralized applications using its RPC gateway. - [ZKsync](https://docs.tatum.io/reference/rpc-zksync.md): Discover zkSync, a Layer 2 scaling solution for Ethereum using ZK rollups. Build scalable decentralized applications using its RPC gateway. - [Delete endpoint](https://docs.tatum.io/reference/delete_endpoint-id.md): Deletes the endpoint with the given ID and returns the deletion result. - [Get endpoint usage](https://docs.tatum.io/reference/get_endpoint-id-usage.md): Retrieves usage for a specific endpoint by its ID. - [Get endpoint details](https://docs.tatum.io/reference/get_endpoint-id.md): Retrieves the endpoint details with the specified ID. - [Get all endpoints usage](https://docs.tatum.io/reference/get_endpoint-usage.md): Retrieves usage for all endpoints. - [Get all endpoints](https://docs.tatum.io/reference/get_endpoint.md): Retrieve all endpoints for the authenticated user. Supports optional filtering via query parameters such as display name, chain, network, interface, status, or routing options. - [Update endpoint](https://docs.tatum.io/reference/patch_endpoint-id.md): Updates the endpoint with the specified ID using the provided data. - [Test endpoint](https://docs.tatum.io/reference/post_endpoint-id-test.md): Test and verify an existing endpoint connection by its ID. - [Tests endpoint connection](https://docs.tatum.io/reference/post_endpoint-test.md): Sends the provided endpoint configuration for verification before the endpoint is created or saved. This allows clients to ensure that the target endpoint is reachable and functioning as expected. - [Create new endpoint](https://docs.tatum.io/reference/post_endpoint.md): Creates a new gateway endpoint. It accepts the endpoint configuration payload and registers a new endpoint within the gateway. - [Delete gateway](https://docs.tatum.io/reference/delete_gateway-id.md): Deletes a gateway by its ID. - [Get gateway usage](https://docs.tatum.io/reference/get_gateway-id-usage.md): Retrieves usage for a specific gateway by its ID. If the ID is a valid UUID, it retrieves usage for the custom gateway. Otherwise, it treats the ID as a Tatum interface ID (e.g., 'ethereum-mainnet') and retrieves usage for that interface. - [Get gateway details](https://docs.tatum.io/reference/get_gateway-id.md): Retrieves a single gateway by its ID. - [Get all usages](https://docs.tatum.io/reference/get_gateway-usage.md): Retrieves global gateway usage for the authenticated user. - [List all gateways](https://docs.tatum.io/reference/get_gateway.md): Retrieves a list of all gateways for the authenticated user. - [Update gateway](https://docs.tatum.io/reference/patch_gateway-id.md): Updates an existing gateway by its ID. - [Create new gateway](https://docs.tatum.io/reference/post_gateway.md): Creates a new gateway for the given owner. It accepts the gateway configuration payload and registers a new gateway. - [Tatum API Reference](https://docs.tatum.io/reference/welcome-to-the-tatum-api-reference.md) - [Complete pending transaction to sign](https://docs.tatum.io/reference/completependingsignature.md):

    /v3/kms/{id}/{txId}

    2 credits per API call.


    Mark pending transaction to sign as a complete and update it with a transactionID from the blockchain.

    - [Delete transaction](https://docs.tatum.io/reference/deletependingtransactiontosign.md):

    /v3/kms/{id}

    2 credits per API call.


    Delete transaction to be signed. When deleting offchain transaction, linked withdrawal will be cancelled automatically.

    - [Get pending transactions to sign](https://docs.tatum.io/reference/getpendingtransactionstosign.md):

    /v3/kms/pending/{chain}

    1 credit per API call

    Get the list of pending transactions to sign and broadcast using KMS.

    - [Get transaction details](https://docs.tatum.io/reference/getpendingtransactiontosign.md):

    /v3/kms/{id}

    1 credit per API call.


    Get detail of transaction to be signed / that was already signed and contains transactionId.

    - [Get pending transactions to sign](https://docs.tatum.io/reference/receivependingtransactionstosign.md):

    /v3/kms/pending/{chain}

    1 credit for every 500 signature IDs per API call

    Get the list of pending transactions to sign and broadcast using KMS.

    NOTE: This API works only in KMS v5.0 or later. If you use KMS older than v5.0, use this API instead.

    - [Allow the NFT auction or marketplace to transfer an asset](https://docs.tatum.io/reference/approvenftauctionspending.md):

    /v3/blockchain/auction/approve

    2 credits per API call

    Allow the NFT auction/marketplace smart contract to transfer the asset (NFT or Multi Token) that is listed for selling.
    The auction/marketplace smart contract will transfer the asset to the buyer after the asset is purchased.

    This API is supported for the following blockchains:

    Signing a transaction
    When allowing the NFT auction/marketplace smart contract to transfer the asset, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Bid for an asset at the NFT auction](https://docs.tatum.io/reference/bidonauction.md):

    /v3/blockchain/auction/bid

    2 credits per API call

    Bid for an asset listed on the NFT auction.

    You can buy the asset either for the native blockchain assets (for example, ETH, BSC, and so on) or for the fungible tokens of the blockchain.

    After you have purchased the asset, it is in a pending state until the auction is settled. Settling the auction means that the asset is transferred to the buyer, the amount is transferred to the seller, and the fee is transferred to the fee recipient of the auction.

    For the complete information about how the bidding/purchase process at an auction works, see the API for creating an NFT auction.

    This API is supported for the following blockchains:

    The "execution reverted" message
    When making this API call, you may get the following message:
    Although one or more Error Occurred [execution reverted] Contract Execution Completed
    This message is a result of the auction version check and has no impact on completing the API call. You can safely ignore it.

    Signing a transaction
    When bidding for an asset at the NFT auction, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Cancel the selling of an asset at the NFT auction](https://docs.tatum.io/reference/cancelauction.md):

    /v3/blockchain/auction/cancel

    2 credits per API call

    Cancel the selling of an asset at the NFT auction.

    You can cancel the selling only if you are the seller of the asset or the auction operator. Once the selling is canceled, the asset is returned to the seller.

    You cannot cancel the selling if the asset has already been purchased.

    This API is supported for the following blockchains:

    The "execution reverted" message
    When making this API call, you may get the following message:
    Although one or more Error Occurred [execution reverted] Contract Execution Completed
    This message is a result of the auction version check and has no impact on completing the API call. You can safely ignore it.

    Signing a transaction
    When cancelling the selling of an asset at the NFT auction, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Sell an asset at the NFT auction](https://docs.tatum.io/reference/createauction.md):

    /v3/blockchain/auction/sell

    2 credits per API call

    Create new auction on the auction contract. Before operation, seller must approve spending of the NFT token for the Auction contract using Approve NFT. After auction is created, auction contract transfers the asset to the auction smart contract. Only auction for existing NFTs can be created - seller must be owner of the NFT asset.

    This API is supported for the following blockchains:

    A known issue on Harmony
    On Harmony, when you are viewing a transaction in the Harmony Blockchain Explorer, the transaction status may be displayed as the following:
    Error reverted:x0
    This is a known issue with the Harmony Blockchain Explorer. This status does not mean that the transaction failed. You can safely ignore it.

    Signing a transaction
    When selling an asset at the NFT auction, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Create an NFT auction](https://docs.tatum.io/reference/generateauction.md):

    /v3/blockchain/auction

    2 credits per API call

    Deploy new smart contract for NFT auction logic. Smart contract enables auction operator to create new auction for NFT (ERC-721/1155). Operator can set a fee in percentage, which will be paid on top of the price of the asset. can be offered for native asset - ETH, BSC, etc. - or any ERC20 token - this is configurable during auction creation. Before auction is created, seller must approve transfer of the NFT to the auction contract. Buyer will bid for the asset from the auction using native asset - send assets along the gid() smart contract call, or via ERC20 token. Buyer of the auction must perform approval for the smart contract to access ERC20 token, before the actual bid() method is called. Once there is higher bid then the actual one, the previous bidder's funds will be returned to him and new bidder will be the current winning one. When auction ends, anyone can settle the auction - NFT will be sent to the bidder, assets to the seller and fee to the operator.
    This operation deploys a smart contract on the blockchain.

    This API is supported for the following blockchains:

    Signing a transaction
    When creating an NFT auction, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Get information about an auctioned asset at the NFT auction](https://docs.tatum.io/reference/getauction.md):

    /v3/blockchain/auction/{chain}/{contractAddress}/{id}

    1 credit per API call

    Get information about a specific auctioned asset at the NFT auction.

    This API is supported for the following blockchains:

    - [Get the NFT auction fee](https://docs.tatum.io/reference/getauctionfee.md):

    /v3/blockchain/auction/{chain}/{contractAddress}/fee

    1 credit per API call

    Get the NFT auction fee.

    This API is supported for the following blockchains:

    - [Get the recipient of the NFT auction fee](https://docs.tatum.io/reference/getauctionfeerecipient.md):

    /v3/blockchain/auction/{chain}/{contractAddress}/recipient

    1 credit per API call

    Get the recipient of the NFT auction fee.

    This API is supported for the following blockchains:

    - [Settle an NFT auction](https://docs.tatum.io/reference/settleauction.md):

    /v3/blockchain/auction/settle

    2 credits per API call

    Settle an auction once it has ended and there is a buyer of the asset at this auction. Settling the auction means that the asset is transferred to the buyer, the amount is transferred to the seller, and the fee is transferred to the fee recipient of the auction.
    Both seller and buyer can settle the auction.

    This API is supported for the following blockchains:

    The "execution reverted" message
    When making this API call, you may get the following message:
    Although one or more Error Occurred [execution reverted] Contract Execution Completed
    This message is a result of the auction version check and has no impact on completing the API call. You can safely ignore it.

    Signing a transaction
    When settling the NFT auction, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Update the NFT auction fee](https://docs.tatum.io/reference/updateauctionfee.md):

    /v3/blockchain/auction/fee

    2 credits per API call

    Update the NFT auction fee.

    This API is supported for the following blockchains:

    Signing a transaction
    When updating the NFT auction fee, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Update the recipient of the NFT auction fee](https://docs.tatum.io/reference/updateauctionfeerecipient.md):

    /v3/blockchain/auction/recipient

    2 credits per API call

    Update the recipient of the NFT auction fee.

    This API is supported for the following blockchains:

    Signing a transaction
    When updating the recipient of the NFT auction, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Allow a blockchain address to transfer and burn fungible tokens](https://docs.tatum.io/reference/erc20approve.md):

    /v3/blockchain/token/approve

    2 credits per API call

    Allow a blockchain address (the spender parameter in the request body) to transfer and burn fungible tokens on behalf of the smart contract owner.

    This API is supported for the following blockchains:

    Signing a transaction
    When allowing a blockchain address to transfer and burn fungible tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Burn fungible tokens](https://docs.tatum.io/reference/erc20burn.md):

    /v3/blockchain/token/burn

    2 credits per API call

    Burn fungible tokens. Burning fungible tokens deletes the specified supply of the tokens (the amount parameter in the request body) from the smart contract (the contractAddress parameter in the request body).

    This API is supported for the following blockchains:

    Signing a transaction
    When burning fungible tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Deploy a fungible token smart contract](https://docs.tatum.io/reference/erc20deploy.md):

    /v3/blockchain/token/deploy

    2 credits per API call

    Deploy a fungible token smart contract on the blockchain. In a deployed smart contract, you can mint and burn fungible tokens. The whole supply of fungible tokens (the supply parameter in the request body) will be transferred to the specified blockchain address (the address parameter in the request body).

    Additionally, you can specify the number of additional digits for the token amounts using the digits parameter. Please note that the maximum value for the supply parameter with added digits is within the range of uint64.

    Smart contracts are standardized and audited.

    This API is supported for the following blockchains:

    You can review the code of a deployed smart contract here.

    Signing a transaction
    When deploying a fungible token smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Get the number of fungible tokens that a blockchain address holds in a smart contract](https://docs.tatum.io/reference/erc20getbalance.md):

    /v3/blockchain/token/balance/{chain}/{contractAddress}/{address}

    1 credit per API call

    Get the number of the fungible tokens minted on a specific smart contract (the contractAddress path parameter in the request endpoint URL) that a blockchain address holds.

    This API is supported for the following blockchains:

    - [Get fungible balances of a wallet](https://docs.tatum.io/reference/erc20getbalanceaddress.md):

    /v3/blockchain/token/address/{chain}/{address}

    50 credit per API call

    Get the number of all fungible tokens that a blockchain address holds across a blockchain. The tokens are returned grouped by the smart contracts they were minted on.

    This API is supported for the following blockchains:

    - [Get fungible token transactions on a blockchain address](https://docs.tatum.io/reference/erc20gettransactionbyaddress.md):

    /v3/blockchain/token/transaction/{chain}/{address}/{tokenAddress}

    20 credit per API call

    Get incoming and outgoing transactions related to fungible tokens on a blockchain address.

    This API is supported for the following blockchains:

    - [Mint fungible tokens](https://docs.tatum.io/reference/erc20mint.md):

    /v3/blockchain/token/mint

    2 credits per API call

    Create new fungible tokens in the smart contract (the contractAddress parameter in the request body) and transfer them to the specified blockchain address (the to parameter in the request body). You can mint new fungible tokens only if the current supply of tokens in the smart contract is lower than the total supply set for this contract.

    This API is supported for the following blockchains:

    Signing a transaction
    When minting fungible tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Transfer fungible tokens](https://docs.tatum.io/reference/erc20transfer.md):

    /v3/blockchain/token/transaction

    2 credits per API call

    Transfer a supply of fungible tokens existing in the smart contract (the contractAddress parameter in the request body) to the specified blockchain address (the to parameter in the request body).
    Transferring fungible tokens invokes the transfer() method.

    This API is supported for the following blockchains:

    Transferring fungible tokens on Algorand
    On Algorand, the recipient has to agree in advance to receive your fungible tokens because Algorand charges users for storing the tokens on their addresses, and an Algorand blockchain address by default does not receive the tokens unless explicitly agreed. Before transferring the fungible tokens, make sure that the recipient has agreed to receive the NFT to their address.

    Blockchain-specific APIs to transfer fungible tokens
    You can also use blockchain-specific APIs for transferring fungible tokens on the following blockchains:

    Signing a transaction
    When transferring fungible tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    When transferring a token on Solana blockchain, this call waits for maximum 45 seconds to check whether the transaction was confirmed on chain. If the transaction was successfully added it returns a success response. Otherwise error is returned with a message: "Transaction {##tx_hash##} has not been confirmed yet. The transaction could still be accepted by the Solana network. We advise to manually check if the transaction has been dropped or accepted before you try to send the transaction again".

    - [Get the results of the address activation transaction](https://docs.tatum.io/reference/activatednotactivatedgaspumpaddresses.md):

    /v3/gas-pump/address/{chain}/{txId}

    1 credit per API call

    Get the results of the activation transaction after activating gas pump addresses.

    If the activation transaction got recorded into a block, the API returns two arrays:

    If the transaction is still being processed, the API returns an error message. In this case, repeat the call later.

    This API is supported for the following blockchains:

    - [Activate gas pump addresses](https://docs.tatum.io/reference/activategaspumpaddresses.md):

    /v3/gas-pump/activate

    2 credits per API call

    Activate the precalulated gas pump addresses. Activating a gas pump address allows this address to send funds to other addresses.

    You can activate up to 270 addresses in one call. If you need to activate more than 270 addresses, make several API calls. For example, if you need to activate 500 addresses, make an API call with 270 addresses (set up the range of their index values accordingly in the from and to request body parameters) and then make another API call with the remaining 230 addresses.

    When to activate a gas pump address
    Because activating a gas pump address costs some amount of gas on a blockchain, you want to activate only those addresses that will be used for sending funds to other addresses. If you know that a gas pump address will not be used for sending funds, you can leave this address not activated. The customer who uses this address will still be able to receive funds.

    Depending on your business needs and requirements, you can choose when to activate the gas pump addresses. If you know for sure that all the precalculated addresses will be sending funds, you can activate all the addresses right after they have been precalculated.

    Alternatively, you can set up the activation in such a way so that a gas pump address gets activated only when a specific event is triggered. For example, you can activate a gas pump address:

    After you make an API call to activate gas pump addresses, use the API for getting the results of the address activation transaction.

    Paying the gas fee for activating gas pump addresses
    You can pay the gas fees for each activation transaction yourself, or Tatum can cover it for you.

    This API is supported for the following blockchains:

    - [Approve the transfer of an asset from a gas pump address](https://docs.tatum.io/reference/approvetransfercustodialwallet.md):

    /v3/blockchain/sc/custodial/approve

    2 credits per API call

    Allow another blockchain address (the spender parameter in the request body) to transfer the asset from a gas pump address on behalf of the master address.

    Use this API when the customer using the gas pump address sells assets on a marketplace or auction. After the customer creates a listing of the asset, they have to allow the marketplace/auction smart contract to transfer the asset to the buyer after the asset has been bought.

    The asset can be one of the following types:

    This API is supported for the following blockchains:

    Signing a transaction
    When approving the transfer of an asset, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Check whether the gas pump address with a specified index is activated](https://docs.tatum.io/reference/gaspumpaddressesactivatedornot.md):

    /v3/gas-pump/activated/{chain}/{owner}/{index}

    1 credit per API call

    Check whether the gas pump address with a specified index is activated and can send funds to other addresses.

    You can use this API when a customer initiates a fund transfer and you need to check whether their gas pump address is allowed to send funds.

    This API is supported for the following blockchains:

    - [Generate a custodial wallet address](https://docs.tatum.io/reference/generatecustodialwallet.md):

    /v3/blockchain/sc/custodial

    This API is deprecated.
    To start with the gas pump, use the API for precalculating the gas pump addresses.

    If you built your gas pump solution using this API and the API for generating a gas pump wallet address, you can still use this API for creating more custodial addresses for your solution. However, we recommend that you switch to the API for precalculating the gas pump addresses.


    2 credits per API call

    Generate new gas pump smart contract address on the blockchain. It's possible to enable tokens, which should be detected and supported on that address. This address enables custodial providers to receive native assets, ERC20 / ERC721 / ERC1155 tokens on behalf of their customers on dedicated blockchain address, but in the same time it can initiate transfer of those assets away.

    Gas required for the transfer from that address is going to be deducted from the providers address - the one, which was used to generate the address on the blockchain.

    There are multiple options, how this address can be setup - it cannot be changed in the future:

    All of these options could be enabled with a batch mode as well - in 1 transaction, it is possible to transfer multiple different assets from that address, e.g. ETH + USDC + ERC721 token. Without batch mode, 3 separate transaction must have been performed.

    This operation deploys a smart contract on the blockchain. More assets you will support, more intial gas will be used for address creation. Batch mode adds more gas for every type.

    This API is supported for the following blockchains:

    - [Generate a gas pump wallet address](https://docs.tatum.io/reference/generatecustodialwalletbatch.md):

    /v3/blockchain/sc/custodial/batch

    This API is deprecated.
    To start with the gas pump, use the API for precalculating the gas pump addresses.


    2 credits per API call

    Generate new gas pump smart contract address on the blockchain. This address enables custodial providers to receive native assets, ERC20 / ERC721 / ERC1155 tokens on behalf of their customers on dedicated blockchain address, but in the same time it can initiate transfer of those assets away. Gas required for the transfer from that address is going to be deducted from the providers address - the one, which was used to generate the address on the blockchain.

    This operation deploys a smart contract on the blockchain.

    For paid plans, it is possible to pay for the gas costs - you don't have to provide private key or signatureId. Blockchain fees will be covered by your credits.

    This API is supported for the following blockchains:

    - [Precalculate gas pump addresses](https://docs.tatum.io/reference/precalculategaspumpaddresses.md):

    /v3/gas-pump

    2 credits per API call

    Precalculate (generate) gas pump addresses that you can assign to the customers of your custodial application.

    This API does not make any changes on the blockchain itself, just generates addresses that follow the blockchain's requirements for the address format; therefore, no gas fee is applied.

    This API is supported for the following blockchains:

    Address index
    Each address should be associated with its own index. Use the from and to request body parameters to set a range of index values for the addresses to precalculate. You can start with any number, but we recommend that you start from 0.

    In one API call, you can precalculate:

    If you need more addresses than one API call can precalculate, make several API calls. For example, if you need 10,000 addresses on Ethereum, make an API call with an index range from 0 through 4,999 and then make another API call with an index range from 5,000 through 9,999.

    The order in which the precalculated addresses are returned in the API response is the order of the values in the index range, and the index values are assigned to the addresses accordingly.
    For example, you precalculated three gas pump addresses with a range of index values from 3 to 5. The first address in the returned arrray is assigned the index value "3", the second one - "4", and the third one - "5".

     [   "0x8cb76aed9c5e336ef961265c6079c14e9cd3d2ea", // index is 3   "0x5c6079c14e9cd3d2ea8cb76aed9c5e336ef96126", // index is 4   "0xc5e336ef9612614e9cd3d2ea8cb76aed95c6079c"  // index is 5 ] 

    The owner of the gas pump addresses
    The owner (also referred to as "master address") is the blockchain address that will own the precalculated gas pump addresses. The owner will also be paying gas fees for operations made on the gas pump addresses. You have to make sure that the owner always has enough funds to cover these gas fees.

    Activated and not activated addresses
    The precalculated addresses can be immediately assigned to customers and can receive funds. However, they cannot be used to send funds to other addresses. This is because the addresses are not activated. To make the addresses be able to send funds, activate them.

    - [Get the custodial wallet address from the transaction](https://docs.tatum.io/reference/scgetcustodialaddresses.md):

    /v3/blockchain/sc/custodial/{chain}/{hash}

    This API is deprecated.
    To start with the gas pump, use the API for precalculating the gas pump addresses.

    If you built your gas pump solution using the API for generating a gas pump wallet address and API for generating a custodial wallet address, you can still use this API for getting the custodial wallet address from the transaction. However, we recommend that you switch to the API for precalculating the gas pump addresses.


    1 credit per API call

    Get gas pump smart contract addresses from deploy transaction.

    This API is supported for the following blockchains:

    - [Transfer an asset from a gas pump address](https://docs.tatum.io/reference/transfercustodialwallet.md):

    /v3/blockchain/sc/custodial/transfer

    2 credits per API call

    Transfer (send) an asset from a gas pump address to the other address.

    This operation is usually performed by users in your custodial application: a user who has a gas pump address assigned wants to transfer an asset to some address on the blockchain.

    The gas fee for sending the asset will be covered by crypto funds on the master address. Make sure that the master address always has enough funds to cover gas fees.

    To be able to send the asset:

    With this API, you can send only one asset per API call. If you want to send multiple assets, use the API for transferring multiple assets from a gas pump account.

    This API is supported for the following blockchains:

    Signing a transaction
    When transferring an asset, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Transfer multiple assets from a gas pump address](https://docs.tatum.io/reference/transfercustodialwalletbatch.md):

    /v3/blockchain/sc/custodial/transfer/batch

    2 credits per API call

    Transfer (send) multiple assets from a gas pump address to one or more addresses.

    This operation is usually performed by users in your custodial application: a user who has a gas pump address assigned wants to transfer multiple assets to one or more addresses on the blockchain.

    The gas fee for sending the assets will be covered by crypto funds on the master address. Make sure that the master address always has enough funds to cover gas fees.

    To be able to send the assets:

    If you want to send only one asset, you can also use the API for transferring an asset from a gas pump account.

    This API is supported for the following blockchains:

    Signing a transaction
    When transferring assets, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Buy an asset on the NFT marketplace](https://docs.tatum.io/reference/buyassetonmarketplace.md):

    /v3/blockchain/marketplace/listing/buy

    2 credits per API call

    Buy an asset listed on the NFT marketplace.

    You can buy the asset either for the native blockchain currency (for example, ETH, MATIC, and so on) or for the fungible tokens of the blockchain.

    This API is supported for the following blockchains:

    The "execution reverted" message
    When making this API call, you may get the following message:
    Although one or more Error Occurred [execution reverted] Contract Execution Completed
    This message is a result of the marketplace version check and has no impact on completing the API call. You can safely ignore it.

    Signing a transaction
    When buying an asset on the NFT marketplace, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Cancel the selling of an asset on the NFT marketplace](https://docs.tatum.io/reference/cancelsellmarketplacelisting.md):

    /v3/blockchain/marketplace/listing/cancel

    2 credits per API call

    Cancel the selling of an asset on the NFT marketplace.

    You can cancel the selling only if you are the seller of the asset or the marketplace operator. Once the selling is canceled, the asset is returned to the seller.

    You cannot cancel the selling if the asset has already been purchased.

    This API is supported for the following blockchains:

    The "execution reverted" message
    When making this API call, you may get the following message:
    Although one or more Error Occurred [execution reverted] Contract Execution Completed
    This message is a result of the marketplace version check and has no impact on completing the API call. You can safely ignore it.

    Signing a transaction
    When cancelling the selling of an asset, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Create an NFT marketplace](https://docs.tatum.io/reference/generatemarketplace.md):

    /v3/blockchain/marketplace/listing

    2 credits per API call

    Deploy an NFT marketplace smart contract on the blockchain. With a deployed marketplace smart contract, you and your customers can create new listings for assets such as non-fungible tokens and combinations of token types as described by the ERC-721 and ERC-1155 standards on the Ethereum blockchain or by the equivalent standards on the other blockchains. As the marketplace operator, you can set a fee as a percentage of the asset price that will be paid on top of the asset price.

    The purchase process looks like the following:

    1. The seller creates a listing for an asset on the NFT marketplace. The listing can be offered for the native blockchain assets (for example, ETH, BSC, and so on) or for the fungible tokens of the blockchain.
    2. The seller allows the marketplace smart contract to transfer the asset that they are selling.
    3. A buyer buys the asset.
      • If the buyer wants to pay with the native blockchain assets, they make the purchase (the buyAssetFromListing() method is called against the marketplace smart contract) and send the required amount of the native assets to the marketplace smart contract.
      • If the buyer wants to pay with the fungible tokens:
        1. The buyer allows the marketplace smart contract to access their tokens and makes the purchase (the buyAssetFromListing() method is called against the marketplace smart contract).
        2. The marketplace smart contract deducts the required amount of tokens from the smart contract where the buyer holds the tokens.
    4. The marketplace smart contract transfers the asset to the buyer, transfers the asset price to the seller, and sends the fee to the marketplace fee recipient.

    This API is supported for the following blockchains:

    Signing a transaction
    When deploying an NFT marketplace smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Get the NFT marketplace fee](https://docs.tatum.io/reference/getmarketplacefee.md):

    /v3/blockchain/marketplace/listing/{chain}/{contractAddress}/fee

    1 credit per API call

    Get the NFT marketplace fee.

    This API is supported for the following blockchains:

    - [Get the recipient of the NFT marketplace fee](https://docs.tatum.io/reference/getmarketplacefeerecipient.md):

    /v3/blockchain/marketplace/listing/{chain}/{contractAddress}/recipient

    1 credit per API call

    Get the recipient of the NFT marketplace fee.

    This API is supported for the following blockchains:

    - [Get information about an NFT marketplace on Solana](https://docs.tatum.io/reference/getmarketplaceinfo.md):

    /v3/blockchain/marketplace/listing/{chain}/{contractAddress}

    1 credit per API call

    Get information about an NFT marketplace on Solana.

    This API is in alpha and is supported only for the mainnet on Solana.

    - [Get information about a listing on the NFT marketplace](https://docs.tatum.io/reference/getmarketplacelisting.md):

    /v3/blockchain/marketplace/listing/{chain}/{contractAddress}/listing/{id}

    1 credit per API call

    Get information about a specific listing on the NFT marketplace.

    This API is supported for the following blockchains:

    - [Sell an asset on the NFT marketplace](https://docs.tatum.io/reference/sellassetonmarketplace.md):

    /v3/blockchain/marketplace/listing/sell

    2 credits per API call

    Create a new listing for an asset on the NFT marketplace. The listing can be offered for the native blockchain assets (for example, ETH, MATIC, and so on) or for any fungible tokens.

    After the listing is created, allow the marketplace smart contract to transfer the asset that you are selling.

    You can create a listing only for an existing asset that you own (you must be the owner of the asset).

    This API is supported for the following blockchains:

    A known issue on Harmony
    On Harmony, when you are viewing a transaction in the Harmony Blockchain Explorer, the transaction status may be displayed as the following:
    Error reverted:x0
    This is a known issue with the Harmony Blockchain Explorer. This status does not mean that the transaction failed. You can safely ignore it.

    The "execution reverted" message
    When making this API call, you may get the following message:
    Although one or more Error Occurred [execution reverted] Contract Execution Completed
    This message is a result of the marketplace version check and has no impact on completing the API call. You can safely ignore it.

    Signing a transaction
    When creating a new listing on the NFT marketplace, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Update the NFT marketplace fee](https://docs.tatum.io/reference/updatefee.md):

    /v3/blockchain/marketplace/listing/fee

    2 credits per API call

    Update the NFT marketplace fee.

    You can update the marketplace fee only if you are the marketplace operator.

    This API is supported for the following blockchains:

    Signing a transaction
    When updating the NFT marketplace fee, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Update the recipient of the NFT marketplace fee](https://docs.tatum.io/reference/updatefeerecipient.md):

    /v3/blockchain/marketplace/listing/recipient

    2 credits per API call

    Update the recipient of the NFT marketplace fee.

    You can update the fee recipient only if you are the marketplace operator.

    This API is supported for the following blockchains:

    Signing a transaction
    When updating the recipient of the NFT marketplace fee, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Update an NFT marketplace on Solana](https://docs.tatum.io/reference/updatemarketplace.md):

    /v3/blockchain/marketplace/listing

    2 credits per API call

    Update an NFT marketplace on Solana.

    You can update it only if you are the marketplace operator.

    This API is in alpha and is supported only for the mainnet on Solana.

    Signing a transaction
    When updating an NFT marketplace, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Withdraw funds from the marketplace fee account on Solana](https://docs.tatum.io/reference/withdrawfeefrommarketplace.md):

    /v3/blockchain/marketplace/withdraw/fee

    2 credits per API call

    Withdraw funds from the NFT marketplace fee account on Solana.

    You can withdraw the funds only if you are the marketplace fee recipient.

    This API is in alpha and is supported only for the mainnet on Solana.

    Signing a transaction
    When withdrawing the funds, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Withdraw funds from the marketplace treasury account on Solana](https://docs.tatum.io/reference/withdrawtreasuryfrommarketplace.md):

    /v3/blockchain/marketplace/withdraw/treasury

    2 credits per API call

    Withdraw funds from the NFT marketplace treasury account on Solana.

    You can withdraw the funds only if you are the marketplace fee recipient.

    This API is in alpha and is supported only for the mainnet on Solana.

    Signing a transaction
    When withdrawing the funds, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Add a Multi Token minter](https://docs.tatum.io/reference/addmultitokenminter.md):

    /v3/multitoken/mint/add

    2 credits per API call

    Add Multi Token minter.

    This API is supported for the following blockchains:

    Signing a transaction

    When adding a Multi Token minter, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Burn a Multi Token](https://docs.tatum.io/reference/burnmultitoken.md):

    /v3/multitoken/burn

    2 credits per API call

    Burn a fixed amount of Multi Tokens by id. This method destroys Multi Tokens from smart contract defined in contractAddress.

    This API is supported for the following blockchains:

    Signing a transaction

    When burning a Multi Token, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Burn multiple Multi Tokens](https://docs.tatum.io/reference/burnmultitokenbatch.md):

    /v3/multitoken/burn/batch

    2 credits per API call

    Burn multiple Multi Token Tokens by id assigned to same address in one transaction. This method destroys any Multi Tokens token from smart contract defined in contractAddress.

    This API is supported for the following blockchains:

    Signing a transaction

    When burning multiple Multi Tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Deploy a Multi Token smart contract](https://docs.tatum.io/reference/deploymultitoken.md):

    /v3/multitoken/deploy

    2 credits per API call

    Deploy Multi Token Smart Contract. This method creates new ERC1155 Smart Contract (Multi Tokens) on the blockchain. Smart contract is standardized and audited. It is possible to mint, burn and transfer tokens. It is also possible to mint multiple tokens at once.

    This API is supported for the following blockchains:

    Signing a transaction

    When deploying a Multi Token smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Mint a Multi Token](https://docs.tatum.io/reference/mintmultitoken.md):

    /v3/multitoken/mint

    2 credits per API call

    Mint a fixed amount of Multi Token and transfer it to destination account. Create and transfer any Multi Token token from smart contract defined in contractAddress. It is possible to add Metadata to the created token with a more detailed information about instead.

    This API is supported for the following blockchains:

    Signing a transaction

    When minting a Multi Token, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Mint multiple Multi Tokens](https://docs.tatum.io/reference/mintmultitokenbatch.md):

    /v3/multitoken/mint/batch

    2 credits per API call

    Create a fixed amount of multiple Multi Tokens Tokens and transfer them to destination account in one transaction. Create and transfer Multi Tokens tokens from smart contract defined in contractAddress.

    This API is supported for the following blockchains:

    Signing a transaction

    When minting multiple Multi Tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Get all Multi Tokens that a blockchain address holds](https://docs.tatum.io/reference/multitokengetaddressbalance.md):

    /v3/multitoken/address/balance/{chain}/{address}

    50 credit per API call

    This endpoint is deprecated.


    > 📘 **Note:** > > We've introduced a new, faster, and more reliable endpoint: GET /v4/data/multitokens/balances. As a result, the older endpoint - GET /v3/multitoken/address/balance/{chain}/{address} - has been deprecated. These endpoints will reach End of Life on June 30, 2025, as announced in our changelog. We recommend migrating to the new endpoint as soon as possible.

    Get all Multi Tokens that a blockchain address holds. The Multi Tokens are returned grouped by the smart contracts they were minted on.

    This API is supported for the following blockchains:

    - [Get the amount of a specific MultiToken that a blockchain address holds](https://docs.tatum.io/reference/multitokengetbalance.md):

    /v3/multitoken/balance/{chain}/{contractAddress}/{address}/{tokenId}

    1 credit per API call

    Get the amount of a specific Multi Token (minted on the smart contract specified by the contractAddress path parameter in the request endpoint URL) that a blockchain address holds.

    This API is supported for the following blockchains:

    - [Get the amount of one or multiple Multi Tokens for multiple blockchain addresses](https://docs.tatum.io/reference/multitokengetbalancebatch.md):

    /v3/multitoken/balance/batch/{chain}/{contractAddress}

    1 credit per API call

    For multiple blockchain addresses, get the amount of one or multiple Multi Tokens (minted on the smart contract specified by the contractAddress path parameter in the request endpoint URL) that those addresses hold.

    This API is supported for the following blockchains:

    - [Get the address of a Multi Token smart contract by its transaction hash](https://docs.tatum.io/reference/multitokengetcontractaddress.md):

    /v3/multitoken/address/{chain}/{hash}

    This endpoint is deprecated. Do not use it.
    Instead, use this API.


    1 credit per API call

    Get Multi Token contract address from deploy transaction.

    This API is supported for the following blockchains:

    - [Get Multi Token metadata](https://docs.tatum.io/reference/multitokengetmetadata.md):

    /v3/multitoken/metadata/{chain}/{contractAddress}/{token}

    1 credit per API call

    Get Multi Token metadata.

    This API is supported for the following blockchains:

    - [Get a Multi Token transaction by its hash](https://docs.tatum.io/reference/multitokengettransaction.md):

    /v3/multitoken/transaction/{chain}/{hash}

    1 credit per API call

    Get Multi Token transaction by transaction hash.

    This API is supported for the following blockchains:

    - [Get Multi Token transactions on a blockchain address](https://docs.tatum.io/reference/multitokengettransactionbyaddress.md):

    /v3/multitoken/transaction/{chain}/{address}/{tokenAddress}

    20 credit per API call

    Get incoming and outgoing Multi Token transactions on a blockchain address.

    This API is supported for the following blockchains:

    - [Transfer a Multi Token](https://docs.tatum.io/reference/transfermultitoken.md):

    /v3/multitoken/transaction

    2 credits per API call

    Transfer a certain amount of Multi Token from account to another account. Transfer Multi Tokens token from smart contract defined in contractAddress.

    Only 1 specific token with specified tokenId and value can be transferred. This method invokes ERC1155 method safeTransfer() to transfer the token in case of ETH, Celo and blockchains.

    This API is supported for the following blockchains:

    Signing a transaction

    When transferring a Multi Token, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Transfer multiple Multi Tokens](https://docs.tatum.io/reference/transfermultitokenbatch.md):

    /v3/multitoken/transaction/batch

    2 credits per API call

    Transfer Multi Token Batch from account to various other accounts in one transaction. Transfer multiple Multi Tokens token from smart contract defined in contractAddress.

    Multiple token with specified tokenIds and values can be transferred. This method invokes ERC1155 method safeTransfer() to transfer the token in case of ETH, Celo and BSC.

    This API is supported for the following blockchains:

    Signing a transaction

    When transferring multiple Multi Tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Add a blockchain address as an NFT minter to an NFT smart contract](https://docs.tatum.io/reference/nftaddminter.md):

    /v3/nft/mint/add

    2 credits per API call

    Allow a blockchain address (the minter parameter in the request body) to mint NFTs on your NFT smart contract (the contractAddress parameter in the request body).

    NOTE: Use this API only when you are using NFT Express with your own smart contract. For more information, see "Use your own smart contract to mint NFTs" in Mint an NFT.
    Do not use this API in any other case.

    This API is supported for the following blockchains:

    Signing a transaction
    When allowing a blockchain address to mint NFTs, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Burn an NFT](https://docs.tatum.io/reference/nftburnerc721.md):

    /v3/nft/burn

    2 credits per API call

    Destroy an NFT. Burning the NFT transfers it to an un-spendable blockchain address that no one can access.

    This API is supported for the following blockchains:

    Burning NFTs on Algorand
    You can burn only the NFTs that were minted with the address of the manager account specified in the manager parameter in the minting call (see the MintNftExpressAlgorand, MintNftAlgorand, and MintNftAlgorandKMS schemas of the request body).

    Burning NFTs on Tezos
    You can burn only the NFTs if you are admin or minter of the contract

    Signing a transaction
    When burning an NFT, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Deploy an NFT smart contract](https://docs.tatum.io/reference/nftdeployerc721.md):

    /v3/nft/deploy

    2 credits per API call

    Deploy an NFT smart contract on the blockchain. In a deployed NFT smart contract, you can mint NFTs (one NFT at a time or multiple NFTs at once), burn, and transfer NFTs.

    Smart contracts are standardized and audited. You can review the code of a deployed NFT smart contract here.

    This API is supported for the following blockchains:

    General NFT smart contracts
    By default, an NFT smart contract is deployed as a general NFT smart contract compatible with OpenSea royalties. This is a standard NFT contract with AccessControl and Ownable, enhanced with NFT batch minting. NFTs minted on this smart contract are compatible with OpenSea and its royalty structure.

    You can enable public minting for smart contracts. By default, public minting is disabled, which means that only the blockchain address whose private key was used to create the smart contract or the blockchain addresses added to the smart contract as NFT minters will be able to mint NFTs for the contract. To enable public minting and allow anyone to mint NFTs on top of the smart contract, deploy the contract with the publicMint parameter set to true in the request body.

    NFT smart contracts and NFT Express
    If you want to use NFT Express to mint NFTs on the deployed smart contract, deploy the smart contract as a general NFT smart contract.
    After you have deployed the NFT smart contract, add the Tatum minter address as an NFT minter to your smart contract.

    For the complete information about using NFT Express on your smart contract, see "Use your own smart contract to mint NFTs" in Mint an NFT.

    Signing a transaction
    When deploying an NFT smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Get the NFTs from a specific smart contract that a blockchain address holds](https://docs.tatum.io/reference/nftgetbalanceerc721.md):

    /v3/nft/balance/{chain}/{contractAddress}/{address}

    1 credit per API call

    Get the NFTs minted on a specific smart contract (the contractAddress path parameter in the request endpoint URL) that a blockchain address holds.

    NOTE: This API works only for the NFT smart contracts deployed using the Tatum smart contract API.

    This API is supported for the following blockchains:

    - [Get the address of an NFT smart contract by its transaction hash](https://docs.tatum.io/reference/nftgetcontractaddress.md):

    /v3/nft/address/{chain}/{hash}

    This endpoint is deprecated. Do not use it.
    Instead, use this API.


    1 credit per API call

    Get NFT contract address from deploy transaction.

    This API is supported for the following blockchains:

    - [Get NFT metadata](https://docs.tatum.io/reference/nftgetmetadataerc721.md):

    /v3/nft/metadata/{chain}/{contractAddress}/{tokenId}

    1 credit per API call

    Get metadata of an NFT.

    This API is supported for the following blockchains:

    - [Get NFT balance of the wallet](https://docs.tatum.io/reference/nftgettokensbyaddresserc721.md):

    /v3/nft/address/balance/{chain}/{address}

    50 credit per API call + 5 credits for each owned NFT

    This endpoint is deprecated.


    > 📘 **Note:** > > We've introduced a new, faster, and more reliable endpoint: GET /v4/data/nft/balances. As a result, the older endpoint - GET /v3/nft/address/balance/{chain}/{address} - has been deprecated. These endpoints will reach End of Life on June 30, 2025, as announced in our changelog. We recommend migrating to the new endpoint as soon as possible.

    Get all NFTs that a blockchain address holds. The NFTs are returned grouped by the smart contracts they were minted on.

    This API is supported for the following blockchains:

    On Solana and Algorand, if a blockchain address holds fewer than 50 NFTs, the API also returns each NFT's metadata. If the metadata is not returned, you can obtain it using the API for getting NFT metadata.

    - [Get all NFTs from a collection](https://docs.tatum.io/reference/nftgettokensbycollectionerc721.md):

    /v3/nft/collection/{chain}/{address}

    20 credit per API call + 10 credits for each listed NFT

    Get all NFTs from a collection (all the NFTs that were minted on the smart contract).

    This API is supported for the following blockchains:

    - [Get an NFT transaction by its hash](https://docs.tatum.io/reference/nftgettransacterc721.md):

    /v3/nft/transaction/{chain}/{hash}

    1 credit per API call

    Get an NFT transaction by its hash.

    This API is supported for the following blockchains:

    - [Get NFT transactions on a blockchain address](https://docs.tatum.io/reference/nftgettransactionbyaddress.md):

    /v3/nft/transaction/{chain}/{address}/{tokenAddress}

    20 credit per API call

    Get incoming and outgoing NFT transactions on a blockchain address.

    This API is supported for the following blockchains:

    - [Get transactions for a specific NFT](https://docs.tatum.io/reference/nftgettransactionbytoken.md):

    /v3/nft/transaction/tokenId/{chain}/{tokenAddress}/{tokenId}

    20 credit per API call

    Get incoming and outgoing transactions for an NFT.

    This API is supported for the following blockchains:

    - [Mint an NFT](https://docs.tatum.io/reference/nftminterc721.md):

    /v3/nft/mint

    2 credits per API call

    You can mint NFTs using either of the following methods:

    Minting NFTs using NFT Express

    NFT Express is Tatum's feature that helps you mint NFTs easier than minting natively on a blockchain.

    With NFT Express, you can choose whether to mint NFTs on the pre-built NFT smart contract provided by Tatum or on your own smart contract.

    Use the pre-built smart contract provided by Tatum to mint NFTs

    If you want to mint NFTs using the pre-built smart contract, you do not need to deploy your own NFT smart contract. You do not need to provide the address of the NFT smart contract and the token ID in the request body either. The address of the smart contract and the token ID are provided automatically by Tatum.
    The token ID is autogenerated. It starts with 0 and is increased by 1 for each new NFT. The token ID is calculated separately for each supported blockchain and its mainnet and testnet.
    For more information, see our user documentation.

    You can mint NFTs on the pre-built smart contract provided by Tatum on the following blockchains:

    Depending on what blockchain you use, choose the request body schema to use in the API call.

    Use your own smart contract to mint NFTs

    If you want to mint NFTs using your own smart contract, you are going to use an NTF minter, a special blockchain address provided by Tatum that will cover the minting fees. The number of credits equivalent to the fees will be then deducted from the monthly credit allowance of your paid pricing plan.

    For more information, see our user documentation and the article in the Tatum blog.

    You can mint NFTs on your own smart contract on the following blockchains:

    To mint NFTs using your own smart contract, do the following:

    1. In the table located under this section, find the blockchain address of the Tatum NFT minter for your blockchain and network (mainnet or testnet).
    2. Add the minter address as an NFT minter to your smart contract.
    3. Use this API with the MintNftMinter schema of the request body.
      In the request body, enter the following information:
      • chain is the blockchain that you use.
      • to is the blockchain address where to send the minted NFT to.
      • url is the URL of the NFT metadata.
      • minter is the address of the NFT minter that you found in Step 1.
      • contractAddress is the address of your NFT smart contract.
      • tokenId is the the token ID of the NFT.
        For example:
         {   "chain": "CELO",   "to": "0x8ce4e40889a13971681391aad29e88efaf91f784",   "url": "ipfs://QmXJJ6UF5WkF4WTJvsdhiA1etGwBLfpva7Vr9AudGMe3pj",   "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",   "tokenId": "0123",   "minter": "0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F" } 
        When you make an API call with this request body, the private key of the NFT minter will be added to the request body automatically:
         {   "chain": "CELO",   "to": "0x8ce4e40889a13971681391aad29e88efaf91f784",   "url": "ipfs://QmXJJ6UF5WkF4WTJvsdhiA1etGwBLfpva7Vr9AudGMe3pj",   "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",   "tokenId": "0123",   "minter": "0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F",   "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2" } 

    The following table lists the blockchain addresses of the Tatum NFT minters for the testnet and mainnet of the supported blockchains:

    Blockchain Minter address - testnet* Minter address - mainnet**
    BNB Smart Chain 0xc16ae5e8c985b906935a0cadf4e24f0400531883 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94
    Celo 0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94
    Ethereum 0x53e8577C4347C365E4e0DA5B57A589cB6f2AB848 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94
    Harmony 0x8906f62d40293ddca77fdf6714c3f63265deddf0 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94
    Klaytn 0x80d8bac9a6901698b3749fe336bbd1385c1f98f2 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94
    Polygon 0x542b9ac4945a3836fd12ad98acbc76a0c8b743f5 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94

    *If a minter blockchain address on the testnet does not have sufficient funds to cover the transaction fee, add some amount to it using a crypto faucet of the blockchain.

    **To be able to use NFT Express on the mainnet, you have to have a paid pricing plan.
    For Ethereum specifically, we recommend an Enterprise Plan because transaction fees on Ethereum are very high.

    Minting NFTs natively on a blockchain

    When minting an NFT natively on a blockchain, you are using your own smart contract. You are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    You can mint NFTs natively on the following blockchains:

    Depending on what blockchain you use, choose the request body schema to use in the API call.

    - [Mint multiple NFTs](https://docs.tatum.io/reference/nftmintmultipleerc721.md):

    /v3/nft/mint/batch

    2 credits per API call

    Create multiple NFT Tokens and transfer them to destination account. Create and transfer any NFT tokens from smart contract defined in contractAddress.

    This API is supported for the following blockchains:

    This operation works in two modes. First mode works just like other NFT endpoints. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages. Second mode enables you to mint on any custom NFT ERC-721 smart contract, on which specified minter address is approved as a minter. You don't specify private key or signatureId, only minter address, from which the NFT will be minted.
    It means you perform mint multiple NFT request with following body:
    {    "to": ["0x80d8bac9a6901698b3749fe336bbd1385c1f98f2"],    "url": ["ipfs://QmXJJ6UF5WkF4WTJvsdhiA1etGwBLfpva7Vr9AudGMe3pj"],    "tokenId": ["9876541124516"],    "contractAddress":"0x3cbb48f740595ed846abb641adfcd9f04588348d",    "minter": "0x542b9ac4945a3836fd12ad98acbc76a0c8b743f5",    "chain": "MATIC" }
    The blockchain fee of the performed transaction is paid from the address connected with built-in private key and is debited in form of credits. The credits are debited only if NFT mint requests are performed with paid API key plan. We transform fee to the credits in accordance to the rates provided by the Tatum. If you want to batch mint on ERC-721 contract which is not deployed via Tatum API, your smart contract must contain this method:
    mintMultiple(address[] to, uint256[] tokenId, string[] uri): boolean
    You can use addresses specified in the bellow table to be used as a minter.
    Chain Testnet address Mainnet Address
    MATIC 0x542b9ac4945a3836fd12ad98acbc76a0c8b743f5 0xcf9e127455d28e7362380aec1b92ddee8200b295
    BSC 0xc16ae5e8c985b906935a0cadf4e24f0400531883 0xcf9e127455d28e7362380aec1b92ddee8200b295
    ONE 0x8906f62d40293ddca77fdf6714c3f63265deddf0 0xcf9e127455d28e7362380aec1b92ddee8200b295
    ETH 0x53e8577C4347C365E4e0DA5B57A589cB6f2AB848 0xcf9e127455d28e7362380aec1b92ddee8200b295
    CELO 0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F 0xcf9e127455d28e7362380aec1b92ddee8200b295
    KLAY 0x80d8bac9a6901698b3749fe336bbd1385c1f98f2 0xcf9e127455d28e7362380aec1b92ddee8200b295
    If there are not enough coins on any testnet address, feel free to send coins there.

    - [Transfer an NFT](https://docs.tatum.io/reference/nfttransfererc721.md):

    /v3/nft/transaction

    2 credits per API call

    Transfer an NFT from the smart contract (the contractAddress parameter in the request body) to the specified blockchain address (the to parameter in the request body).

    In one API call, you can transfer only one NFT.

    This API is supported for the following blockchains:

    For Ethereum, Celo, Flare and BNB Smart Chain, transferring NFTs invokes the safeTransfer() method.

    Transferring NFTs on Algorand

    Transferring NFTs on Solana
    If you want to transfer an NFT that was minted using NFT Express, use the transferNftSolana or transferNftSolanaKMS schema of the request body. In the request body:

    Signing a transaction
    When transferring an NFT, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    NOTE: This does not apply to transferring NFTs that were minted on Algorand using NFT Express (see earlier in this section).

    - [Verify an NFT in an NFT collection on Solana](https://docs.tatum.io/reference/nftverifyincollection.md):

    /v3/nft/verify

    2 credits per API call

    Verify an NFT in an NFT collection on Solana. Verifying an NFT sets the Verified parameter to true for the NFT, which means that the NFT is really a part of the collection. To know more about Solana collections and verification, refer to the Solana user documentation.

    The collection must be a sized collection that was introduced in Version 1.3 of the Metaplex Token Metadata program. The NFT must have been minted in this collection.

    This API is supported only for Solana.

    Signing a transaction
    When verifying an NFT, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Get a log record](https://docs.tatum.io/reference/getlog.md):

    /v3/record

    1 credit per API call

    Get a log data record from the Ethereum blockchain (only the mainnet or the Sepolia testnet).

    - [Store a log record](https://docs.tatum.io/reference/storelog.md):

    /v3/record

    2 credits per API call + additional credits based on the size of the stored data and the type of the blockchain

    Store data on the blockchain.

    The total cost of a transaction on Ethereum (in credits) depends on the size of the data. The data is stored as a string in the hexadecimal format, and the maximum size of the data is approximately 130 kB on the mainnet and 30 kB on testnet. Every 5 characters cost 1 credit.
    Therefore, one API call with 1 kB of data (1024 characters) would cost 205 credits.

    This API is supported for the following blockchains:

    - [Get file from IPFS](https://docs.tatum.io/reference/getipfsdata.md):

    /v3/ipfs/{id}

    1 credit per API call.


    Gets data from the IPFS.

    - [Store data to IPFS](https://docs.tatum.io/reference/storeipfs.md):

    /v3/ipfs

    2 credits per API call. Only files up to 50MB are available for storing.


    Stores file on the IPFS. We are leveraging web3.storage from Protocol Labs for free storage on the IPFS.

    - [Estimate the block height for a future point in time](https://docs.tatum.io/reference/getauctionestimatedtime.md):

    /v3/blockchain/auction/time/{chain}/{date}

    1 credit per API call

    Get an estimated block height (number) for some future point in time.

    Note that this API returnes an estimation of what the block height might be and not the exact block height.

    This API is supported for the following blockchains:

    - [Get the blockchain address of a smart contract by the deployment transaction ID](https://docs.tatum.io/reference/scgetcontractaddress.md):

    /v3/blockchain/sc/address/{chain}/{hash}

    1 credit per API call

    Get the blockchain address of a smart contract by the ID of its deployment transaction.

    This API is supported for the following blockchains:

    - [Freeze API Key](https://docs.tatum.io/reference/freezeapikey.md):

    /v3/tatum/freeze

    2 credits per API call.


    Freeze the API Key. It's not possible to perform sensitive operations like send ledger transaction, send off-chain transaction, send blockchain transaction, broadcast blockchain transaction, perform Order book trade or create blockage. Only read operations are permitted.

    - [Get information about your credit consumption for the last month](https://docs.tatum.io/reference/getcreditsv3.md):

    /v3/tatum/usage

    1 credit per API call

    Get information about your v3 key credit consumption for the last month (used credits per day).

    - [Get information about your credit consumption for the last month](https://docs.tatum.io/reference/getcreditsv4.md):

    /v4/tatum/usage

    1 credit per API call

    Get information about your v4 key credit consumption for the last month (used credits per day).

    - [Get API version](https://docs.tatum.io/reference/getversion.md):

    /v3/tatum/version

    1 credit per API call.


    Get current version of the API.

    - [Unfreeze API Key](https://docs.tatum.io/reference/unfreezeapikey.md):

    /v3/tatum/freeze

    2 credits per API call.


    Unfreeze the API Key. It's possible to perform sensitive operations like send ledger transaction, send off-chain transaction, send blockchain transaction, broadcast blockchain transaction, perform Order book trade or create blockage again.

    - [Activate account](https://docs.tatum.io/reference/activateaccount.md):

    /v3/ledger/account/{id}/activate

    2 credits per API call.


    Activates an account.

    - [Block an amount in an account](https://docs.tatum.io/reference/blockamount.md):

    /v3/ledger/account/block/{id}

    2 credits per API call.


    Blocks an amount in an account. Any number of distinct amounts can be blocked in one account. Every new blockage has its own distinct ID, which is used as a reference. When the amount is blocked, it is debited from the available balance of the account. The account balance remains the same. The account balance represents the total amount of funds in the account. The available balance represents the total amount of funds that can be used to perform transactions. When an account is frozen, the available balance is set to 0 minus all blockages for the account.

    - [Create a virtual account](https://docs.tatum.io/reference/createaccount.md):

    /v3/ledger/account

    2 credits per API call

    Create a new virtual account for a customer.

    You can create a virtual account for any supported cryptocurrency, fiat currency, Tatum virtual currency, or fungible tokens created within Tatum. Once the currency/asset is set for a virtual account, it cannot be changed.

    Virtual account balance

    A virtual account has its own balance. The balance can be logically presented by the account balance and available balance:

    Cryptocurrency virtual accounts

    When you create a virtual account based on a cryptocurrency (for example, BTC or ETH), you have to provide the extended public key (xpub) of the blockchain wallet that will be connected to this account.

    NOTE: Adding xpub to the virtual account does not connect any specific blockchain address to this account. xpub is a generator of addresses, not an address itself.

    Not all blockchains provide xpub for wallets, or Tatum may not support wallets on some blockchains. In such cases, use the wallet address or the account address instead.

    Connect a virtual account to the blockchain

    You can connect multiple blockchain addresses to one virtual account.

    Digital assets:

    - [Create multiple accounts in a batch call](https://docs.tatum.io/reference/createaccountbatch.md):

    /v3/ledger/account/batch

    2 credits per API call + 1 credit for every account created.


    Creates new accounts for the customer in a batch call.

    - [Deactivate account](https://docs.tatum.io/reference/deactivateaccount.md):

    /v3/ledger/account/{id}/deactivate

    2 credits per API call.


    Deactivates an account. Only accounts with account and available balances of zero can be deactivated. Deactivated accounts are not visible in the list of accounts, it is not possible to send funds to these accounts or perform transactions. However, they are still present in the ledger and all transaction histories.

    - [Unblock all blocked amounts in an account](https://docs.tatum.io/reference/deleteallblockamount.md):

    /v3/ledger/account/block/account/{id}

    1 credit per API call, 1 credit for each deleted blockage. 1 API call + 2 blockages = 3 credits.


    Unblocks previously blocked amounts in an account. Increases the available balance in the account where the amount was blocked.

    - [Unblock a blocked amount in an account](https://docs.tatum.io/reference/deleteblockamount.md):

    /v3/ledger/account/block/{id}

    1 credit per API call.


    Unblocks a previously blocked amount in an account. Increases the available balance in the account where the amount was blocked.

    - [Freeze account](https://docs.tatum.io/reference/freezeaccount.md):

    /v3/ledger/account/{id}/freeze

    2 credits per API call.


    Disables all outgoing transactions. Incoming transactions to the account are available. When an account is frozen, its available balance is set to 0. This operation will create a new blockage of type ACCOUNT_FROZEN, which is automatically deleted when the account is unfrozen.

    - [Get account balance](https://docs.tatum.io/reference/getaccountbalance.md):

    /v3/ledger/account/{id}/balance

    1 credit per API call.


    Get balance for the account.

    - [Get account by ID](https://docs.tatum.io/reference/getaccountbyaccountid.md):

    /v3/ledger/account/{id}

    1 credit per API call.


    Gets active account by ID. Displays all information regarding the given account.

    - [List all accounts](https://docs.tatum.io/reference/getaccounts.md):

    /v3/ledger/account

    1 credit per API call.


    Lists all accounts. Inactive accounts are also visible.

    - [List all customer accounts](https://docs.tatum.io/reference/getaccountsbycustomerid.md):

    /v3/ledger/account/customer/{id}

    1 credit per API call.


    Lists all accounts associated with a customer. Only active accounts are visible.

    - [Count of found entities for get accounts request](https://docs.tatum.io/reference/getaccountscount.md):

    /v3/ledger/account/count

    1 credit per API call.


    Count of accounts that were found from /v3/ledger/account

    - [Get blocked amounts in an account](https://docs.tatum.io/reference/getblockamount.md):

    /v3/ledger/account/block/{id}

    1 credit per API call.


    Gets blocked amounts for an account.

    - [Get blocked amount by ID](https://docs.tatum.io/reference/getblockamountbyid.md):

    /v3/ledger/account/block/{id}/detail

    1 credit per API call.


    Gets blocked amount by id.

    - [Unblock an amount in an account and perform a transaction](https://docs.tatum.io/reference/unblockamountwithtransaction.md):

    /v3/ledger/account/block/{id}

    2 credits per API call.


    Unblocks a previously blocked amount in an account and invokes a ledger transaction from that account to a different recipient. If the request fails, the amount is not unblocked.

    - [Unfreeze account](https://docs.tatum.io/reference/unfreezeaccount.md):

    /v3/ledger/account/{id}/unfreeze

    2 credits per API call.


    Unfreezes a previously frozen account. Unfreezing a non-frozen account not affect the account.

    - [Update account](https://docs.tatum.io/reference/updateaccountbyaccountid.md):

    /v3/ledger/account/{id}

    2 credits per API call.


    Update account by ID. Only a small number of fields can be updated.

    - [Check whether a blockchain address is assigned to a virtual account](https://docs.tatum.io/reference/addressexists.md):

    /v3/offchain/account/address/{address}/{currency}

    1 credit per API call

    Check whether a blockchain address with the specified cryptocurrency is registered within Tatum and is assigned to a virtual account (that is, whether this blockchain address is a deposit address associated with the virtual account).

    If the blockchain address is assigned to a virtual account, information about this account is returned. Otherwise, an error message is returned.

    - [Assign a blockchain address to a virtual account](https://docs.tatum.io/reference/assignaddress.md):

    /v3/offchain/account/{id}/address/{address}

    2 credits per API call

    Assign an existing blockchain address to a virtual account. The blockchain address becomes a deposit address associated with this account.
    Use this API when the virtual account has no default extended public key (xpub) and deposit addresses are handled manually.

    You can assign multiple blockchain addresses to one virtual account. When you have multiple blockchain addresses assigned to the same virtual account, you aggregate various blockchain transactions from different addresses under a single account.
    You can deposit funds from another blockchain address to a deposit address associated with the virtual account, and the funds will be credited to that virtual account.

    Scanning for incoming deposits
    By default, deposit addresses are scanned for incoming deposits. Deposit addresses are automatically synchronized with the associated virtual account, and you can see incoming deposits on the virtual account.
    Scanning deposit addresses for incoming deposits consumes 20 credits per address per day.

    If you want to be notified about certain events occurring on the deposit addresses, create an alert.

    - [Create a deposit address for a virtual account](https://docs.tatum.io/reference/generatedepositaddress.md):

    /v3/offchain/account/{id}/address

    2 credits per API call

    Create a deposit address associated with a virtual account.

    You can create multiple deposit addresses for one virtual account. When you have multiple deposit addresses created for the same virtual account, you aggregate various blockchain transactions from different addresses under a single account.
    You can deposit funds from another blockchain address to a deposit address associated with the virtual account, and the funds will be credited to that virtual account.

    Scanning for incoming deposits
    By default, deposit addresses are scanned for incoming deposits. Deposit addresses are automatically synchronized with the associated virtual account, and you can see incoming deposits on the virtual account.
    Scanning deposit addresses for incoming deposits consumes 20 credits per address per day.

    If you want to be notified about certain events occurring on the deposit addresses, create an alert.

    Virtual account cryptocurrency

    Depending on the cryptocurrency of the virtual account, this API generates:

    For fore information about supported blockchains and address types, see the API for creating virtual accounts.

    Deposit addresses are generated in the natural order of the extended public key provided in the virtual account. The derivation index is the representation of that order; it starts from 0 and ends at 2^31.

    When a new deposit address is generated, the last not used index is used to generate the address. You can skip some addresses to a different index, which means all the skipped addresses will no longer be used.

    - [Create multiple deposit addresses for a virtual account](https://docs.tatum.io/reference/generatedepositaddressesbatch.md):

    /v3/offchain/account/address/batch

    2 credits per API call + 1 credit for each created address.

    Create multiple deposit addresses associated with a virtual account.

    When you have multiple deposit addresses created for the same virtual account, you aggregate various blockchain transactions from different addresses under a single account.
    You can deposit funds from another blockchain address to a deposit address associated with the virtual account, and the funds will be credited to that virtual account.

    Scanning for incoming deposits
    By default, deposit addresses are scanned for incoming deposits. Deposit addresses are automatically synchronized with the associated virtual account, and you can see incoming deposits on the virtual account.
    Scanning deposit addresses for incoming deposits consumes 20 credits per address per day.

    If you want to be notified about certain events occurring on the deposit addresses, create an alert.

    Virtual account cryptocurrency

    Depending on the cryptocurrency of the virtual account, this API generates:

    For fore information about supported blockchains and address types, see the API for creating virtual accounts.

    Deposit addresses are generated in the natural order of the extended public key provided in the virtual account. The derivation index is the representation of that order; it starts from 0 and ends at 2^31.

    When a new deposit address is generated, the last not used index is used to generate the address. You can skip some addresses to a different index, which means all the skipped addresses will no longer be used.

    - [Get all deposit addresses for a virtual account](https://docs.tatum.io/reference/getalldepositaddresses.md):

    /v3/offchain/account/{id}/address

    1 credit per API call

    Get all deposit addresses generated for a virtual account.

    - [Remove a deposit address from a virtual account](https://docs.tatum.io/reference/removeaddress.md):

    /v3/offchain/account/{id}/address/{address}

    1 credit per API call

    Remove a deposit address from the virtual account.

    The deposit address will no longer be scanned for incoming deposits. You will no longer be able to generate this address again.

    - [Estimate ledger to blockchain transaction fee](https://docs.tatum.io/reference/offchainestimatefee.md):

    2 credits per API call.


    Estimate current transaction fee for ledger to blockchain transaction.
    Supported blockchains:

    - [Send ADA from a virtual account to the blockchain](https://docs.tatum.io/reference/adatransferoffchain.md):

    /v3/offchain/ada/transfer

    10 credits per API call.

    Send ADA (Cardano) from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Deploy an Algorand ERC-20-equivalent smart contract to the blockchain and a virtual account](https://docs.tatum.io/reference/algodeployerc20ledger.md):

    /v3/offchain/algo/erc20/deploy

    4 credits per API call

    Deploy an Algorand ERC-20-equivalent smart contract. This is a helper method, which is combination of Register new Algorand ERC20 token in the ledger and Deploy blockchain ERC20.

    After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

    Signing a transaction
    When deploying an Algorand ERC-20-equivalent smart contract to the blockchain and a virtual account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send ALGO from a virtual account to the blockchain](https://docs.tatum.io/reference/algotransfer.md):

    /v3/offchain/algorand/transfer

    4 credits per API call

    Send Algos or ERC-20-equivalent Algorand tokens from a virtual account (even from a virtual account without deposit addresses adssigned) to the Algorand blockchain.

    The recipient has to agree in advance to receive assets because Algorand charges users for storing assets on their addresses, and an Algorand blockchain address by default does not receive assets unless explicitly agreed. Before sending any asset from a virtual account to the blockchain, make sure that the recipient has agreed to receive the assets to their address.

    Sending Algorand assets creates an internal Tatum withdrawal request with an ID. If everything works as expected, the withdrawal request is marked as complete and a transaction ID is assigned to it.

    Signing a transaction
    When sending Algos or ERC-20-equivalent Algorand tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send Arbitrum from a virtual account to the blockchain](https://docs.tatum.io/reference/arbitrumtransfer.md):

    /v3/offchain/arb/transfer

    4 credits per API call

    Send ETH_ARB or ERC-20-equivalent Arbitrum tokens from a virtual account (even from a virtual account without deposit addresses adssigned) to the Arbitrum blockchain.

    The recipient has to agree in advance to receive assets because Arbitrum charges users for storing assets on their addresses, and an Arbitrum blockchain address by default does not receive assets unless explicitly agreed. Before sending any asset from a virtual account to the blockchain, make sure that the recipient has agreed to receive the assets to their address.

    Sending Arbitrum assets creates an internal Tatum withdrawal request with an ID. If everything works as expected, the withdrawal request is marked as complete and a transaction ID is assigned to it.

    Signing a transaction
    When sending ETH_ARB or ERC-20-equivalent Arbitrum tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Send Base from a virtual account to the blockchain](https://docs.tatum.io/reference/basetransfer.md):

    /v3/offchain/base/transfer

    4 credits per API call

    Send BASE or ERC-20-equivalent BASE tokens from a virtual account (even from a virtual account without deposit addresses adssigned) to the Base blockchain.

    The recipient has to agree in advance to receive assets because Base charges users for storing assets on their addresses, and an Base blockchain address by default does not receive assets unless explicitly agreed. Before sending any asset from a virtual account to the blockchain, make sure that the recipient has agreed to receive the assets to their address.

    Sending Base assets creates an internal Tatum withdrawal request with an ID. If everything works as expected, the withdrawal request is marked as complete and a transaction ID is assigned to it.

    Signing a transaction
    When sending Base or ERC-20-equivalent Base tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Send BCH from a virtual account to the blockchain](https://docs.tatum.io/reference/bchtransfer.md):

    /v3/offchain/bcash/transfer

    10 credits per API call.


    Send BCH (Bitcoin Cash) from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    There are two possibilites how the transaction on the blockchain can be created: It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This method is a helper method, which internally wraps these steps:
    1. Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
    2. Perform blockchain transaction
    3. Complete withdrawal - move the withdrawal to the completed state, when all of the previous steps were successful.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Create a BNB-based asset](https://docs.tatum.io/reference/bnbassetoffchain.md):

    /v3/offchain/bnb/asset

    2 credits per API call.


    Create a BNB-based asset in a virtual account. The asset must first be created and configured on BNB Beacon Chain blockhain.

    This API call will create an internal virtual currency. You can create virtual accounts with off-chain support.

    - [Send BNB from a virtual account to the blockchain](https://docs.tatum.io/reference/bnbtransfer.md):

    /v3/offchain/bnb/transfer

    10 credits per API call.


    Send BNB (BNB Beacon Chain) or BNB assets from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. When every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account](https://docs.tatum.io/reference/bscdeploybep20.md):

    /v3/offchain/bsc/bep20/deploy

    4 credits per API call

    Deploy a BNB Smart Chain BEP-20 smart contract. This is a helper method, which is combination of Register new BEP20 token in the ledger and Deploy blockchain ERC20.

    After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

    Signing a transaction
    When deploying a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send BSC from a virtual account to the blockchain](https://docs.tatum.io/reference/bscorbeptransfer.md):

    /v3/offchain/bsc/transfer

    4 credits per API call.


    Send BSC (BNB Smart Chain) or BEP-20 tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Send BTC from a virtual account to the blockchain](https://docs.tatum.io/reference/btctransfer.md):

    /v3/offchain/bitcoin/transfer

    2 credits per API call.


    Send BTC (Bitcoin) from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    There are two possibilites how the transaction on the blockchain can be created: It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This method is a helper method, which internally wraps these steps:
    1. Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
    2. Perform blockchain transaction
    3. Complete withdrawal - move the withdrawal to the completed state, when all of the previous steps were successful.
    When some of the steps fails, Cancel withdrawal operation is used, which cancels withdrawal and creates refund transaction to the sender account. This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account](https://docs.tatum.io/reference/celodeployerc20ledger.md):

    /v3/offchain/celo/erc20/deploy

    4 credits per API call

    Deploy a Celo ERC-20-equivalent smart contract. This is a helper method, which is combination of Register new Celo ERC-20 token in the ledger and Deploy blockchain ERC20.

    After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

    Signing a transaction
    When deploying a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send CELO from a virtual account to the blockchain](https://docs.tatum.io/reference/celoorerc20transfer.md):

    /v3/offchain/celo/transfer

    4 credits per API call.


    Send CELO (Celo), ERC-20-equivalent Celo tokens, cUSD, or cEUR from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Register a new BNB Smart Chain BEP-20 token in the virtual account](https://docs.tatum.io/reference/createbep20.md):

    /v3/offchain/bsc/bep20

    This method is deprecated.
    Use this method instead.


    2 credits per API call.

    First step to create new BEP20 token with given supply on BSC blockchain with support of Tatum's private ledger.


    This method only creates Tatum Private ledger virtual currency with predefined parameters. It will not generate any blockchain smart contract.
    The whole supply of BEP20 token is stored in the customer's newly created account. Then it is possible to create new Tatum accounts with BEP20 token name as account's currency.
    Newly created account is frozen until the specific BEP20 smart contract address is linked with the Tatum virtual currency, representing the token.
    Order of the steps to create BEP20 smart contract with Tatum private ledger support:

    1. Register BEP20 token - creates a virtual currency within Tatum
    2. Deploy BEP20 smart contract - create new BEP20 smart contract on the blockchain
    3. Store BEP20 smart contract address - link newly created BEP20 smart contract address with Tatum virtual currency - this operation enables frozen account and enables ledger synchronization for BEP20 Tatum accounts
    There is a helper method Deploy BSC BEP20 Smart Contract to Blockchain and Ledger, which wraps first 2 steps into 1 method.
    Address on the blockchain, where all initial supply will be transferred, can be defined via the address or xpub and derivationIndex. When xpub is present, the account connected to this virtualCurrency will be set as the account's xpub.

    - [Register a new Celo ERC-20-equivalent token in the virtual account](https://docs.tatum.io/reference/createceloerc20.md):

    /v3/offchain/celo/erc20

    This method is deprecated.
    Use this method instead.


    2 credits per API call.

    First step to create new ERC-20 token with given supply on Celo blockchain with support of Tatum's private ledger.


    This method only creates Tatum Private ledger virtual currency with predefined parameters. It will not generate any blockchain smart contract.
    The whole supply of ERC-20 token is stored in the customer's newly created account. Then it is possible to create new Tatum accounts with ERC-20 token name as account's currency.
    Newly created account is frozen until the specific ERC-20 smart contract address is linked with the Tatum virtual currency, representing the token.
    Order of the steps to create ERC-20 smart contract with Tatum private ledger support:

    1. Register Celo ERC-20 token - creates a virtual currency within Tatum
    2. Deploy Celo ERC-20 smart contract - create new ERC-20 smart contract on the blockchain
    3. Store Celo ERC-20 smart contract address - link newly created ERC-20 smart contract address with Tatum virtual currency - this operation enables frozen account and enables ledger synchronization for ERC-20 Tatum accounts
    There is a helper method Deploy Celo ERC-20 Smart Contract to Blockchain and Ledger, which wraps first 2 steps into 1 method.
    Address on the blockchain, where all initial supply will be transferred, can be defined via the address or xpub and derivationIndex. When xpub is present, the account connected to this virtualCurrency will be set as the account's xpub.

    - [Register a new Ethereum ERC-20 token in the virtual account](https://docs.tatum.io/reference/createerc20.md):

    /v3/offchain/ethereum/erc20

    This method is deprecated.
    Use this method instead.


    2 credits per API call.

    First step to create new ERC20 token with given supply on Ethereum blockchain with support of Tatum's private ledger.
    This method only creates Tatum Private ledger virtual currency with predefined parameters. It will not generate any blockchain smart contract.
    The whole supply of ERC20 token is stored in the customer's newly created account. Then it is possible to create new Tatum accounts with ERC20 token name as account's currency.
    Newly created account is frozen until the specific ERC20 smart contract address is linked with the Tatum virtual currency, representing the token.
    Order of the steps to create ERC20 smart contract with Tatum private ledger support:

    1. Create ERC20 token - creates a virtual currency within Tatum
    2. Deploy ERC20 smart contract - create new ERC20 smart contract on the blockchain
    3. Store ERC20 smart contract address - link newly created ERC20 smart contract address with Tatum virtual currency - this operation enables frozen account and enables ledger synchronization for ERC20 Tatum accounts
    There is a helper method Deploy Ethereum ERC20 Smart Contract to Blockchain and Ledger, which wraps first 2 steps into 1 method.
    Address on the blockchain, where all initial supply will be transferred, can be defined via the address or xpub and derivationIndex. When xpub is present, the account connected to this virtualCurrency will be set as the account's xpub.

    - [Register a new Harmony HRM-20 token in the virtual account](https://docs.tatum.io/reference/createhrm20.md):

    /v3/offchain/one/hrm20

    This method is deprecated.
    Use this method instead.


    2 credits per API call.

    First step to create new HRM20 token with given supply on ONE blockchain with support of Tatum's private ledger.


    This method only creates Tatum Private ledger virtual currency with predefined parameters. It will not generate any blockchain smart contract.
    The whole supply of HRM20 token is stored in the customer's newly created account. Then it is possible to create new Tatum accounts with HRM20 token name as account's currency.
    Newly created account is frozen until the specific HRM20 smart contract address is linked with the Tatum virtual currency, representing the token.
    Order of the steps to create HRM20 smart contract with Tatum private ledger support:

    1. Register HRM20 token - creates a virtual currency within Tatum
    2. Deploy HRM20 smart contract - create new HRM20 smart contract on the blockchain
    3. Store HRM20 smart contract address - link newly created HRM20 smart contract address with Tatum virtual currency - this operation enables frozen account and enables ledger synchronization for HRM20 Tatum accounts
    There is a helper method Deploy ONE HRM20 Smart Contract to Blockchain and Ledger, which wraps first 2 steps into 1 method.
    Address on the blockchain, where all initial supply will be transferred, can be defined via the address or xpub and derivationIndex. When xpub is present, the account connected to this virtualCurrency will be set as the account's xpub.

    - [Register a new TRON TRC-10 or TRC-20 token in the virtual account](https://docs.tatum.io/reference/createtrc.md):

    /v3/offchain/tron/trc

    10 credits per API call.


    First step to create new TRC 10/20 token with given supply on the Tron blockchain with support of Tatum's private ledger.
    This method only creates Tatum Private ledger virtual currency with predefined parameters. It will not generate any blockchain smart contract.
    The whole supply of TRC 10/20 token is stored in the customer's newly created account. Then it is possible to create new Tatum accounts with TRC 10/20 token name as account's currency.
    Newly created account is frozen until the specific TRC 10/20 smart contract address is linked with the Tatum virtual currency, representing the token.
    Order of the steps to create TRC 10/20 smart contract with Tatum private ledger support:

    1. Create TRC 10/20 token (this API) - creates a virtual currency within Tatum
    2. Deploy TRC 10 or TRC 20 smart contract - create new TRC 10/20 smart contract on the blockchain
    3. Store TRC 10/20 smart contract address - link newly created TRC 10/20 smart contract address with Tatum virtual currency - this operation enables frozen account and enables ledger synchronization for TRC 10/20 Tatum accounts
    Blockchain address will be assigned to the virtual account as a deposit address. It can be defined via the address explicitly or by using xpub and derivationIndex. There is a helper method Deploy TRC 10/20 Smart Contract to Blockchain and Ledger, which wraps first 2 steps into 1 method.

    - [Register a new XinFin ERC-20-equivalent token in the virtual account](https://docs.tatum.io/reference/createxdc20.md):

    /v3/offchain/xdc/erc20

    This method is deprecated.
    Use this method instead.


    2 credits per API call.

    First step to create new ERC20 token with given supply on XDC blockchain with support of Tatum's private ledger.
    This method only creates Tatum Private ledger virtual currency with predefined parameters. It will not generate any blockchain smart contract.
    The whole supply of ERC20 token is stored in the customer's newly created account. Then it is possible to create new Tatum accounts with ERC20 token name as account's currency.
    Newly created account is frozen until the specific ERC20 smart contract address is linked with the Tatum virtual currency, representing the token.
    Order of the steps to create ERC20 smart contract with Tatum private ledger support:

    1. Register ERC20 token - creates a virtual currency within Tatum
    2. Deploy ERC20 smart contract - create new ERC20 smart contract on the blockchain
    3. Store ERC20 smart contract address - link newly created ERC20 smart contract address with Tatum virtual currency - this operation enables frozen account and enables ledger synchronization for ERC20 Tatum accounts
    There is a helper method Deploy XDC ERC20 Smart Contract to Blockchain and Ledger, which wraps first 2 steps into 1 method.
    Address on the blockchain, where all initial supply will be transferred, can be defined via the address or xpub and derivationIndex. When xpub is present, the account connected to this virtualCurrency will be set as the account's xpub.

    - [Send DOGE from a virtual account to the blockchain](https://docs.tatum.io/reference/dogetransfer.md):

    /v3/offchain/dogecoin/transfer

    4 credits per API call.


    Send DOGE (Dogecoin) from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    There are two possibilites how the transaction on the blockchain can be created: It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This method is a helper method, which internally wraps these steps:
    1. Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
    2. Perform blockchain transaction
    3. Complete withdrawal - move the withdrawal to the completed state, when all of the previous steps were successful.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Send EGLD from a virtual account to the blockchain](https://docs.tatum.io/reference/egldtransfer.md):

    /v3/offchain/egld/transfer

    4 credits per API call.


    Send EGLD from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account](https://docs.tatum.io/reference/ethdeployerc20.md):

    /v3/offchain/ethereum/erc20/deploy

    4 credits per API call

    Deploy an Ethereum ERC-20 smart contract. This is a helper method, which is combination of Register new ERC20 token in the ledger and Deploy blockchain ERC20.

    After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

    Signing a transaction
    When deploying an Ethereum ERC-20 smart contract to the blockchain and a virtual account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send ETH from a virtual account to the blockchain](https://docs.tatum.io/reference/ethtransfer.md):

    /v3/offchain/ethereum/transfer

    4 credits per API call.


    Send ETH (Ethereum) from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Send Ethereum ERC-20 tokens from a virtual account to the blockchain](https://docs.tatum.io/reference/ethtransfererc20.md):

    /v3/offchain/ethereum/erc20/transfer

    4 credits per API call.


    Send Ethereum ERC-20 tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account](https://docs.tatum.io/reference/kcsdeployerc20ledger.md):

    /v3/offchain/kcs/erc20/deploy

    4 credits per API call

    Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract. This is a helper method, which is combination of Register new Kcs ERC20 token in the ledger and Deploy blockchain ERC20.

    After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

    Signing a transaction
    When deploying a KCC ERC-20-equivalent smart contract to the blockchain and a virtual account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send KCS from a virtual account to the blockchain](https://docs.tatum.io/reference/kcstransfer.md):

    /v3/offchain/kcs/transfer

    4 credits per API call.


    Send KCS (KuCoin Community Chain (KCC)) or ERC-20-equivalent KCC tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account](https://docs.tatum.io/reference/klaydeployerc20.md):

    /v3/offchain/klaytn/erc20/deploy

    4 credits per API call

    Deploy a Klaytn ERC-20-equivalent smart contract. This is a helper method, which is combination of Register new ERC20 token in the ledger and Deploy blockchain ERC20.

    After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

    Signing a transaction
    When deploying a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send KLAY from a virtual account to the blockchain](https://docs.tatum.io/reference/klaytransfer.md):

    /v3/offchain/klaytn/transfer

    4 credits per API call.


    Send KLAY or ERC-20-equivalent tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Send LTC from a virtual account to the blockchain](https://docs.tatum.io/reference/ltctransfer.md):

    /v3/offchain/litecoin/transfer

    10 credits per API call.


    Send LTC (Litecoin) from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    There are two possibilites how the transaction on the blockchain can be created: It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This method is a helper method, which internally wraps these steps:
    1. Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
    2. Perform blockchain transaction
    3. Complete withdrawal - move the withdrawal to the completed state, when all of the previous steps were successful.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account](https://docs.tatum.io/reference/onedeployhrm20.md):

    /v3/offchain/one/hrm20/deploy

    4 credits per API call

    Deploy a Harmony HRM-20 smart contract. This is a helper method, which is combination of Register new HRM20 token in the ledger and Deploy blockchain ERC20.

    After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

    Signing a transaction
    When deploying a Harmony HRM-20 smart contract to the blockchain and a virtual account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send ONE from a virtual account to the blockchain](https://docs.tatum.io/reference/onetransfer.md):

    /v3/offchain/one/transfer

    4 credits per API call.


    Send ONE (Harmony) or HRM-20 tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Send Optimism from a virtual account to the blockchain](https://docs.tatum.io/reference/optimismtransfer.md):

    /v3/offchain/optimism/transfer

    4 credits per API call

    Send OPTIMISM or ERC-20-equivalent OPTIMISM tokens from a virtual account (even from a virtual account without deposit addresses adssigned) to the Optimism blockchain.

    The recipient has to agree in advance to receive assets because Optimism charges users for storing assets on their addresses, and an Optimism blockchain address by default does not receive assets unless explicitly agreed. Before sending any asset from a virtual account to the blockchain, make sure that the recipient has agreed to receive the assets to their address.

    Sending Optimism assets creates an internal Tatum withdrawal request with an ID. If everything works as expected, the withdrawal request is marked as complete and a transaction ID is assigned to it.

    Signing a transaction
    When sending Optimism or ERC-20-equivalent Optimism tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    - [Send MATIC from a virtual account to the blockchain](https://docs.tatum.io/reference/polygontransfer.md):

    /v3/offchain/polygon/transfer

    4 credits per API call.


    Send MATIC (Polygon) or ERC-20-equivalent Polygon tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Register a new ERC-20 or ERC-20-equivalent token in the virtual account](https://docs.tatum.io/reference/registererc20token.md):

    /v3/offchain/token/{chain}

    2 credits per API call.


    This is the first step to create a new ERC-20 or ERC-20 equivalent token with some supply in a virtual account.


    This method only creates Tatum Private ledger virtual currency with predefined parameters. It will not generate any blockchain smart contract.
    The whole supply of token is stored in the customer's newly created account. Then it is possible to create new Tatum accounts with token name as account's currency.
    Newly created account is frozen until the specific smart contract address is linked with the Tatum virtual currency, representing the token.
    Order of the steps to create smart contract with Tatum private ledger support:

    1. Register token (this API) - creates a virtual currency within Tatum
    2. Deploy smart contract - create new smart contract on the blockchain
    3. Store smart contract address - link newly created smart contract address with Tatum virtual currency - this operation enables frozen account and enables ledger synchronization for Tatum accounts
    Blockchain address will be assigned to the virtual account as a deposit address. It can be defined via the address explicitly or by using xpub and derivationIndex.

    - [Send SOL from a virtual account to the blockchain](https://docs.tatum.io/reference/soltransfer.md):

    /v3/offchain/solana/transfer

    10 credits per API call

    Send SOL (Solana), USDC_SOL, or custom SPL tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. When every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.

    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Set the contract address of a Celo ERC-20-equivalent token](https://docs.tatum.io/reference/storeceloerc20address.md):

    /v3/offchain/celo/erc20/{name}/{address}

    This method is deprecated.
    Use this method instead.


    2 credits per API call.

    - [Set the contract address of an ERC-20, ERC-20-equivalent, or TRC-10 token](https://docs.tatum.io/reference/storetokenaddress.md):

    /v3/offchain/token/{name}/{address}

    2 credits per API call

    Set the contract address of an ERC-20, ERC-20-equivalent (for example, BEP-20, HRM-20, and so on), or TRC-10 token to be able to communicate with the smart contract.

    After creating and deploying the token to the blockchain, the smart contract address is generated and must be set within Tatum. If the address is not set, the Tatum platform will not be able to detect incoming deposits of the tokens and transfer the tokens from virtual accounts to blockchain addresses.

    NOTE:

    - [Set the contract address of a TRC-10 or TRC-20 token](https://docs.tatum.io/reference/storetrcaddress.md):

    /v3/offchain/tron/trc/{name}/{address}

    This method is deprecated.
    Use this method instead.


    2 credits per API call.

    - [Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account](https://docs.tatum.io/reference/trondeploytrc.md):

    /v3/offchain/tron/trc/deploy

    10 credits per API call

    Deploy a TRON TRC-10 or TRC-20 smart contract. This is a helper method, which is combination of Register new TRC-10/20 token in the ledger and Deploy blockchain TRC20 or Deploy blockchain TRC10.

    After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

    Signing a transaction
    When deploying a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send TRON from a virtual account to the blockchain](https://docs.tatum.io/reference/trontransferoffchain.md):

    /v3/offchain/tron/transfer

    10 credits per API call.


    Send TRON or TRX assets from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account](https://docs.tatum.io/reference/xdcdeployerc20.md):

    /v3/offchain/xdc/erc20/deploy

    4 credits per API call

    Deploy a XinFin ERC-20-equivalent smart contract. This is a helper method, which is combination of Register new ERC20 token in the ledger and Deploy blockchain ERC20.

    After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

    Signing a transaction
    When deploying a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.

    Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.

    For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.

    - [Send XDC from a virtual account to the blockchain](https://docs.tatum.io/reference/xdctransfer.md):

    /v3/offchain/xdc/transfer

    4 credits per API call.


    Send XDC (XinFin) or ERC-20-equivalent XinFin tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Create an XLM-based asset](https://docs.tatum.io/reference/xlmassetoffchain.md):

    /v3/offchain/xlm/asset

    2 credits per API call.


    Create an XLM-based asset in a virtual account. The asset must be created and configured on the Stellar blockchain before creating a trust line.

    This API call will create an internal virtual currency. You can create virtual accounts with off-chain support.

    - [Send XLM from a virtual account to the blockchain](https://docs.tatum.io/reference/xlmtransfer.md):

    /v3/offchain/xlm/transfer

    10 credits per API call

    Send XLM (Stellar) or XLM-based assets from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. When every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.

    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Create XRP based Asset](https://docs.tatum.io/reference/xrpassetoffchain.md):

    /v3/offchain/xrp/asset

    2 credits per API call.


    Create an XRP-based asset in a virtual account. The asset must be created and configured on the XRPL blockchain before creating a trust line.

    This API call will create an internal virtual currency. You can create virtual accounts with off-chain support.

    - [Send XRP from a virtual account to the blockchain](https://docs.tatum.io/reference/xrptransfer.md):

    /v3/offchain/xrp/transfer

    10 credits per API call.


    Send XRP from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. When every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

    It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.
    This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key. No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and losing funds. In this method, it is possible to enter privateKey or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production, Tatum KMS should be used for the highest security standards, and signatureId should be present in the request. Alternatively, using the Tatum client library for supported languages.

    - [Activate customer](https://docs.tatum.io/reference/activatecustomer.md):

    /v3/ledger/customer/{id}/activate

    2 credits per API call.


    Activated customer is able to do any operation.

    - [Deactivate customer](https://docs.tatum.io/reference/deactivatecustomer.md):

    /v3/ledger/customer/{id}/deactivate

    2 credits per API call.


    Deactivate customer is not able to do any operation. Customer can be deactivated only when all their accounts are already deactivated.

    - [Disable customer](https://docs.tatum.io/reference/disablecustomer.md):

    /v3/ledger/customer/{id}/disable

    2 credits per API call.


    Disabled customer cannot perform end-user operations, such as create new accounts or send transactions. Available balance on all accounts is set to 0. Account balance will stay untouched.

    - [Enable customer](https://docs.tatum.io/reference/enablecustomer.md):

    /v3/ledger/customer/{id}/enable

    2 credits per API call.


    Enabled customer can perform all operations. By default all customers are enabled. All previously blocked account balances will be unblocked.

    - [List all customers](https://docs.tatum.io/reference/findallcustomers.md):

    /v3/ledger/customer

    1 credit per API call.


    List of all customers. Also inactive an disabled customers are present.

    - [Get customer details](https://docs.tatum.io/reference/getcustomerbyexternalorinternalid.md):

    /v3/ledger/customer/{id}

    1 credit per API call.


    Using anonymized external ID or internal customer ID you can access customer detail information. Internal ID is needed to call other customer related methods.

    - [Update customer](https://docs.tatum.io/reference/updatecustomer.md):

    /v3/ledger/customer/{id}

    2 credits per API call.


    This method is helpful in case your primary system will change ID's or customer will change the country he/she is supposed to be in compliance with.

    - [List all deposits for product](https://docs.tatum.io/reference/getdeposits.md):

    /v3/ledger/deposits

    1 credit per API call.


    Lists all deposits for API key.

    - [Count of found entities for get deposits request](https://docs.tatum.io/reference/getdepositscount.md):

    /v3/ledger/deposits/count

    1 credit per API call.


    Counts total entities found by get deposits request.

    - [Obtain chart data from historical closed trades](https://docs.tatum.io/reference/chartrequest.md):

    /v3/trade/chart

    2 credits for API call.


    Obtain data from the closed trades for entering in the chart. Time interval is set between from and to and there is defined time frame. There can be obtained at most 200 time points in the time interval.

    - [Cancel all existing trades for account](https://docs.tatum.io/reference/deleteaccounttrades.md):

    /v3/trade/account/{id}

    1 credit for API call, 1 credit for each cancelled trade. 1 API call + 2 cancellations = 3 credits.


    Cancel all trades for account.

    - [Cancel existing trade](https://docs.tatum.io/reference/deletetrade.md):

    /v3/trade/{id}

    1 credit for API call


    Cancel existing trade.

    - [List all active buy trades](https://docs.tatum.io/reference/getbuytrades.md):

    /v3/trade/buy

    1 credit per API call.


    List all active buy trades.

    - [List all active buy trades](https://docs.tatum.io/reference/getbuytradesbody.md):

    /v3/trade/buy

    1 credit per API call.


    List all active buy trades.

    - [List all historical trades](https://docs.tatum.io/reference/gethistoricaltrades.md):

    /v3/trade/history

    1 credit per API call.


    List all historical trades. It is possible to list all trades, trades for specific trading pair and/or account.

    - [List all historical trades](https://docs.tatum.io/reference/gethistoricaltradesbody.md):

    /v3/trade/history

    1 credit per API call.


    List all historical trades. It is possible to list all trades, trades for specific trading pair and/or account.

    - [List all matched orders from FUTURE_SELL/FUTURE_BUY trades](https://docs.tatum.io/reference/getmatchedtrades.md):

    /v3/trade/matched

    1 credit per API call.


    List all matched orders from the FUTURE_BUY OR FUTURE_SELL orders.

    - [List all active sell trades](https://docs.tatum.io/reference/getselltrades.md):

    /v3/trade/sell

    1 credit per API call.


    List all active sell trades.

    - [List all active sell trades](https://docs.tatum.io/reference/getselltradesbody.md):

    /v3/trade/sell

    1 credit per API call.


    List all active sell trades.

    - [Get existing trade](https://docs.tatum.io/reference/gettradebyid.md):

    /v3/trade/{id}

    1 credit for API call


    Get existing opened trade.

    - [Store buy / sell trade](https://docs.tatum.io/reference/storetrade.md):

    /v3/trade

    2 credits for API call, 2 credits for each fill of the counter trade. 1 API call + 2 fills = 6 credits.


    Store new buy / sell trade. If there is trade already available to fill, fill as much trades as possible.
    It is possible to charge fees for the trades. Fees are an extra amount on top of the trade amount and are paid in the currency that you going to block e.g.: - BUY BTC/USDT - fees will be paid in USDT - SELL BTC/ETH - fees will be paid in BTC

    If you fill type of the trade with FUTURE_BUY or FUTURE_SELL the trade will behave as a trade future. The trade is concluded now but will be fulfilled in future. The date of fulfillment is by the “Seal Date” field. You can also block a percentage of the amount until the future trade has expired.

    Futures can also penalize contracting parties if they don’t have the agreed balance available in their accounts. The penalty is calculated in the following way: Penalty amount = (Percentage of incomplete deal amount because of shortage from user) × (Maximum Penalty percentage of futures deal based on blocked amount and time interval) × (total blocked value).

    Example of the BTC/USDT trade future:

    The maker creates a sell with the following properties: 1 BTC at a price of 60000 USDT, with a blocking percentage of 22%, a penalty percentage of 45%, a system commision of 1% and with an expiration time of within 12 hours.

     {   "type": "FUTURE_SELL",   "price": "60000",   "amount": "1",   "pair": "BTC/USDT",   "currency1AccountId": "60a236db1b57f60d62612bf3",   "currency2AccountId": "609d0696bf835c241ac2920f",   "fee": 1,   "feeAccountId": "609d0696bf835c251ac2920a",   "attr": {     "sealDate": 1621990960631,     "percentBlock": 22,     "percentPenalty": 45   } } 
    The taker accepts the offer with a buy and blocks 13200 USDT (60000 USDT × 0.22) in their account.
     {   "type": "FUTURE_BUY",   "price": "60000",   "amount": "1",   "pair": "BTC/USDT",   "currency1AccountId": "60a236db1b57f60d62612bf2",   "currency2AccountId": "609d0696bf835c241ac2920a",   "attr": {     "sealDate": 1621990960631,     "percentBlock": 22,     "percentPenalty": 45   } } 

    At the time of the trade, the maker and taker have the following conditions. The maker has 0.65 BTC (35% deficit) in their account and the taker has 49200 USDT (18% deficit) in their account.

    The maker penalty is equal to 0.35 × 0.22 × (0.45 × 1 BTC) = 0.03465 BTC. The taker penalty is equal to 0.18 × 0.22 × (0.45 × 60000 USDT) = 1069.2 USDT.

    The system commission for the maker is 1 BTC × 1% = 0.01 BTC. The system commission for the taker is 60000 USDT × 1% = 600 USDT.

    The maker’s assets after deducting penalties and commissions equals 0.65 - 0.03465 - 0.01 = 0.60535 BTC. The taker’s assets after deducting penalties and commissions equals 49200 - 1069.2 - 600 = 47530.8 USDT.

    The amount received by the maker after the trade is (0.60535 × 60000) + 1069.2 = 37390.2 USDT and the taker receives 0.60535 + 0.03465 = 0.64 BTC.

    - [Find transactions within the ledger.](https://docs.tatum.io/reference/gettransactions-1.md):

    /v3/ledger/transaction/ledger

    1 credit per API call.


    Find transactions across whole ledger.

    - [Find transactions for account.](https://docs.tatum.io/reference/gettransactionsbyaccountid.md):

    /v3/ledger/transaction/account

    1 credit per API call.


    Finds transactions for the account identified by the given account ID.

    - [Find transactions for a customer across all of the customer's accounts.](https://docs.tatum.io/reference/gettransactionsbycustomerid.md):

    /v3/ledger/transaction/customer

    1 credit per API call.


    Finds transactions for all accounts of the customer identified by the given internal customer ID.

    - [Find transactions with a given reference across all accounts.](https://docs.tatum.io/reference/gettransactionsbyreference.md):

    /v3/ledger/transaction/reference/{reference}

    1 credit per API call.


    Finds transactions for all accounts with the given reference.

    - [Send payment](https://docs.tatum.io/reference/sendtransaction.md):

    /v3/ledger/transaction

    4 credits per API call.


    Sends a payment within Tatum Private Ledger. All assets are settled instantly.
    When a transaction is settled, 2 transaction records are created, 1 for each of the participants. These 2 records are connected via a transaction reference, which is the same for both of them.
    This method is only used for transferring assets between accounts within Tatum and will not send any funds to blockchain addresses.
    If there is an insufficient balance in the sender account, no transaction is recorded.
    It is possible to perform an anonymous transaction where the sender account is not visible for the recipient.
    The FIAT currency value of every transaction is calculated automatically. The FIAT value is based on the accountingCurrency of the account connected to the transaction and is available in the marketValue parameter of the transaction.

    - [Send payment in batch](https://docs.tatum.io/reference/sendtransactionbatch.md):

    /v3/ledger/transaction/batch

    2 + 2 * N per API call. (N - count of transactions)


    Sends the N payments within Tatum Private Ledger. All assets are settled instantly.
    When a transaction is settled, 2 transaction records are created, 1 for each of the participants. These 2 records are connected via a transaction reference, which is the same for both of them.
    This method is only used for transferring assets between accounts within Tatum and will not send any funds to blockchain addresses.
    If there is an insufficient balance in the sender account, no transaction is recorded.
    It is possible to perform an anonymous transaction where the sender account is not visible for the recipient.
    The FIAT currency value of every transaction is calculated automatically. The FIAT value is based on the accountingCurrency of the account connected to the transaction and is available in the marketValue parameter of the transaction.

    - [Create new virtual currency](https://docs.tatum.io/reference/createcurrency.md):

    /v3/ledger/virtualCurrency

    2 credits per API call

    Create new virtual currency with given supply stored in account. This will create Tatum internal virtual currency. Every virtual currency must be prefixed with VC_.

    Every virtual currency must be pegged to existing FIAT or supported cryptocurrency. 1 unit of virtual currency has then the same amount as 1 unit of the base currency it is pegged to. It is possible to set a custom base rate for the virtual currency. (baseRate = 2 => 1 VC unit = 2 basePair units)

    Tatum virtual currency acts as any other asset within Tatum. To create a fungible token, see the API for deploying a fungible token smart contract.

    This operation returns the newly created Tatum Ledger account with an initial balance set to the virtual currency's total supply. Total supply can be changed in the future.

    Digital assets:

    - [Get virtual currency](https://docs.tatum.io/reference/getcurrency.md):

    /v3/ledger/virtualCurrency/{name}

    1 credit per API call

    Get detail of virtual currency.

    - [Create new supply of virtual currency](https://docs.tatum.io/reference/mintcurrency.md):

    /v3/ledger/virtualCurrency/mint

    2 credits per API call

    Create new supply of virtual currency linked on the given accountId. Method increases the total supply of the currency.

    This method creates Ledger transaction with operationType MINT with undefined counterAccountId.

    - [Destroy supply of virtual currency](https://docs.tatum.io/reference/revokecurrency.md):

    /v3/ledger/virtualCurrency/revoke

    2 credits per API call.


    Destroy supply of virtual currency linked on the given accountId. Method decreases the total supply of the currency.
    This method creates Ledger transaction with operationType REVOKE with undefined counterAccountId.

    - [Update virtual currency](https://docs.tatum.io/reference/updatecurrency.md):

    /v3/ledger/virtualCurrency

    2 credits per API call.


    Change base pair and/or base rate of existing virtual currency.

    - [Broadcast signed transaction and complete withdrawal](https://docs.tatum.io/reference/broadcastblockchaintransaction.md):

    /v3/offchain/withdrawal/broadcast

    2 credits per API call.


    Broadcast signed raw transaction end complete withdrawal associated with it. When broadcast succeeded but it is impossible to complete withdrawal, transaction id of transaction is returned and withdrawal must be completed manually.

    - [Cancel withdrawal](https://docs.tatum.io/reference/cancelinprogresswithdrawal.md):

    /v3/offchain/withdrawal/{id}

    1 credit per API call.


    This method is helpful if you need to cancel the withdrawal if the blockchain transaction fails or is not yet processed. This does not cancel already broadcast blockchain transaction, only Tatum internal withdrawal, and the ledger transaction, that was linked to this withdrawal.
    By default, the transaction fee is included in the reverted transaction. There are situations, like sending ERC20 on ETH, TRC token on TRON, XLM or XRP based assets, when the fee should not be reverted, because e.g. the fee is in calculated in Ethereum and transaction was in ERC20 currency. In this situation, only the transaction amount should be reverted, not the fee.

       Tip: For Virtual Accounts where withdrawal currency is a token, \n    it is recommended to use “revert=false”. Otherwise, the blockchain \n    transaction fee in native currency will be reverted as effective \n    Virtual Account balance. Example: tx out fails and cancel \n    “revert=true” from a 10 USDT + 0.10 TRX as “fee” would be \n   reverted as 10+30 USDT (where the TRX of the fee is converted to USDT) 
    - [Complete withdrawal](https://docs.tatum.io/reference/completewithdrawal.md):

    /v3/offchain/withdrawal/{id}/{txId}

    2 credits per API call.


    Invoke complete withdrawal as soon as blockchain transaction ID is available. All other withdrawals for the same currency will be pending unless the last one is processed and marked as completed.

    - [Get withdrawals](https://docs.tatum.io/reference/getwithdrawals.md):

    /v3/offchain/withdrawal

    1 credit per API call.


    Get withdrawals.

    - [Store withdrawal](https://docs.tatum.io/reference/storewithdrawal.md):

    /v3/offchain/withdrawal

    2 credits per API call

    Create a withdrawal from Tatum Ledger account to the blockchain.

    BTC, LTC, DOGE, BCH

    When withdrawal from Tatum is executed, all deposits, which are not processed yet are used as an input and change is moved to pool address 0 of wallet for defined account's xpub. If there are no unspent deposits, only last pool address 0 UTXO is used. If balance of wallet is not sufficient, it is impossible to perform withdrawal from this account -> funds were transferred to another linked wallet within system or outside of Tatum visibility.
    For the first time of withdrawal from wallet, there must be some deposit made and funds are obtained from that. Since there is no withdrawal, there was no transfer to pool address 0 and thus it is not present in vIn. Pool transfer is identified by missing data.address property in response. When last not cancelled withdrawal is not completed and thus there is no tx id of output transaction given, we cannot perform next withdrawal.

    ETH

    Withdrawal from Tatum can be processed only from 1 account. In Ethereum Blockchain, each address is recognized as an account and only funds from that account can be sent in 1 transaction. Example: Account A has 0.5 ETH, Account B has 0.3 ETH. Account A is linked to Tatum Account 1, Account B is linked to Tatum Account 2. Tatum Account 1 has balance 0.7 Ethereum and Tatum Account 2 has 0.1 ETH. Withdrawal from Tatum Account 1 can be at most 0.5 ETH, even though balance in Tatum Private Ledger is 0.7 ETH. Because of this Ethereum Blockchain limitation, withdrawal request should always contain sourceAddress, from which withdrawal will be made. To get available balances for Ethereum wallet accounts, use hint endpoint.

    XRP

    XRP withdrawal can contain DestinationTag except of address, which is placed in attr parameter of withdrawal request. SourceTag of the blockchain transaction should be withdrawal ID for autocomplete purposes of withdrawals.

    XLM

    XLM withdrawal can contain memo except of address, which is placed in attr parameter of withdrawal request. XLM blockchain does not have possibility to enter source account information. It is possible to create memo in format 'destination|source', which is supported way of memo in Tatum and also there is information about the sender account in the blockchain.

    When withdrawal is created, all other withdrawals with the same currency are pending, unless the current one is marked as complete or cancelled.

    Tatum ledger transaction is created for every withdrawal request with operation type WITHDRAWAL. The value of the transaction is the withdrawal amount + blockchain fee, which should be paid. In the situation, when there is withdrawal for ERC20, XLM, or XRP based custom assets, the fee is not included in the transaction because it is paid in different assets than the withdrawal itself.

    ## Changelog - [Sonic Migration: Fantom Opera and Sonic Blaze Replaced by Sonic Mainnet and Testnet](https://docs.tatum.io/changelog/sonic-testnet-now-available-on-tatum.md) - [Polkadot Update: New /v1 REST API Endpoints Available](https://docs.tatum.io/changelog/polkadot-infrastructure-update-new-v1-rest-api-endpoints-available.md) - [X-LAYER (New RPC): Mainnet, Testnet](https://docs.tatum.io/changelog/x-layer-new-rpc-mainnet-testnet.md) - [Tezos Ghostnet Deprecation & Migration to Shadownet](https://docs.tatum.io/changelog/tezos-ghostnet-deprecation-migration-to-shadownet.md) - [Polygon Erigon EOL & Migration to Bor](https://docs.tatum.io/changelog/polygon-erigon-eol-migration-to-bor.md)