The JavaScript
SDK for Web3
Get everything you need to build your Web3 application.
Why Developers Build With Tatum
Zac Barron
Product Lead at Binance
David Spitzer-Dulagan
CTO at Limewire
Hitoshi Harada
Co-founder & CPO at Alpaca
One Platform - All Blockchains
Whatever you're building, it's easiest to start and scale your app with Tatum. You get a unified abstraction layer to access all blockchains.
RPC Nodes
• 90+ blockchains
• Enhanced flexibility
• Simplified transactions
Fee Estimation
• Compare fees
• Estimate costs
• Display fees instantly
Web3 Notifications
• Easy-to-use Webhooks
• Transaction alerts
• Smart contract events
Exchange Rates
• Convert crypto-to-fiat
• Track portfolios
• Enable crypto payments
Wallets
• Manage keys
• Get balances
• Handle transactions
NFTs
• Mint and deploy
• Manage transactions
• Burn and transfer
MetaMask Integraton
• Integrate into your Dapp
• Transfer assets
• Manage signatures
Speed Up Delivery With Lean Code
With the Tatum SDK you'll reduce the length of your code by at least 90% helping you launch your dApp faster.
Without Tatum
// Fetch NFT balance.
const Web3 = require('web3');
const web3 = new Web3('https://rpc.provider/Your_Access_key');
const walletAddress = 'YOUR_WALLET_ADDRESS';
const abiDecoder = require('abi-decoder');
async function getNFTsForWallet() {
try {
const latestBlockNumber = await web3.eth.getBlockNumber();
for (let i = 0; i <= latestBlockNumber; i++) {
const block = await web3.eth.getBlock(i, true);
if (block && block.transactions) {
for (const tx of block.transactions) {
const receipt = await web3.eth.getTransactionReceipt(tx.hash);
if (receipt && receipt.logs) {
abiDecoder.addABI(yourNFTContractABI); // Replace with the ABI of the NFT contract
for (const log of receipt.logs) {
const decodedLogs = abiDecoder.decodeLogs([log]);
for (const decodedLog of decodedLogs) {
if (decodedLog && decodedLog.name === 'Transfer') {
const from = decodedLog.events[1].value;
const to = decodedLog.events[2].value;
if (to.toLowerCase() === walletAddress.toLowerCase()) {
console.log('Received NFT:', decodedLog);
}
}
}
}
}
}
}
}
} catch (error) {
console.error('Error:', error);
}
}
getNFTsForWallet();
Using Tatum
// Fetch NFT balance using Tatum SDK.
import { TatumSDK, Network } from '@tatumio/tatum';
const tatum = await TatumSDK.init({ network: Network.ETHEREUM });
const balance = await tatum.nft.getBalance({addresses: [‘your address’]});
90+ Supported Blockchain Protocols
150M+
End Users
170K+
Developers
$35B+
In Transaction Volume
Gain Usage Insights, Analytics and More
Tatum gives you a powerful Dashboard to track how your app is used.
Build Your First App!
Follow our easy to use guide and utilize our templates to build your first blockchain application.
Build Your First App!
Follow our easy to use guide and utilize our templates to build your first blockchain application.
Get Involved
Join the community of developers building with Tatum. Share your project and help others build theirs.