Altszn.com
  • Home
  • Crypto
    • Altcoins
    • Bitcoin
    • Ethereum
    • Monero
    • XRP
    • Zcash
  • Web3
  • DeFi
  • NFTs
No Result
View All Result
Altszn.com
  • Home
  • Crypto
    • Altcoins
    • Bitcoin
    • Ethereum
    • Monero
    • XRP
    • Zcash
  • Web3
  • DeFi
  • NFTs
No Result
View All Result
Altszn.com
No Result
View All Result

Smart Contract Programming Tutorial for Blockchain Developers

Altszn.com by Altszn.com
January 6, 2023
in Web3
0
Smart Contract Programming Tutorial for Blockchain Developers
399
SHARES
2.3k
VIEWS
Share on FacebookShare on Twitter


This smart contract programming tutorial will teach you how to incorporate existing smart contract functionality into your dapps. Thanks to wagmi and Moralis โ€“ the tools we use in this tutorial โ€“ your dapp will be able to trigger โ€œreadโ€ and โ€œwriteโ€ Web3 contract methods or functions. The following snippets of code will do all the heavy lifting:

  • To run โ€œreadโ€ smart contract functions:
const response = await Moralis.EvmApi.utils.runContractFunction({     abi,     functionName,     address,     chain, });
  • To run โ€œwriteโ€ smart contract functions:
const { config } = usePrepareContractWrite({})
const { write } = useContractWrite()

Along the way, youโ€™ll also have a chance to learn how to get a walletโ€™s ERC20 token balance. This is where Moralisโ€™ Ethereum API for tokens will do the trick via the following snippet of code: 

const response = await Moralis.EvmApi.token.getWalletTokenBalances({    address,    chain, });

If youโ€™re already a proficient developer familiar with Moralis, go ahead and implement the above code snippets right away! If not, make sure to complete todayโ€™s smart contract programming tutorial and level up your game. Just create your free Moralis account and follow our lead!

Sign Up with Moralis and Complete this Smart Contract Programming Tutorial

Overview

The core of todayโ€™s article will be our smart contract programming tutorial. The latter will consist of two sub-tutorials โ€“ one teaching you to run โ€œreadโ€ smart contract functions and the other to run โ€œwriteโ€ functions. If youโ€™d like to begin the tutorial right away, click here.

For todayโ€™s tutorial, your JavaScript (NodeJS and ReactJS) proficiency will get you to the finish line. Keep in mind that weโ€™ll provide you with the primary lines of code herein and links to the complete code that awaits you on GitHub. Consequently, weโ€™ve ensured that there are no obstacles in your way and that you can easily complete this smart contract programming tutorial.    

Graph Sequence of a Smart Contract Programming Tutorial

After youโ€™ve rolled up your sleeves and successfully completed the tutorial, weโ€™re going to provide you with some basics related to smart contract programming. As such, weโ€™ll explain what smart contracts are and what smart contract programming is. Weโ€™ll also list the leading smart contract programming languages in case some of you want to start creating your own smart contracts. 

If youโ€™d like to expand your skills even further after today, make sure to check out Moralis Academy and enroll in the Ethereum Smart Contract Programming 101 course! 

Smart Contract Programming Tutorial

As you proceed, youโ€™ll have an opportunity to complete two sub-tutorials. One will show you how to run smart contract functions from your dapp, and the other how to write them. The first sub-tutorial will focus on completing the task within your terminal, without actually creating a frontend dapp. However, the second smart contract programming tutorial will also show you how to create a simple frontend dapp. Hereโ€™s the gist of that dapp:

The above screenshot shows that the dapp youโ€™ll have a chance to build in the second sub-tutorial enables users to connect their wallets. Once users connect their wallets, they get to send their Chainlink (LINK) tokens by entering the amount and pasting a recipient address:

In order to incorporate existing smart contracts in dapps, you also want to learn how to explore their details. This is where blockchain explorers enter the picture. Since weโ€™ll be focusing on the Ethereum and Polygon (Mumbai) chains, Etherscan and PolygonScan will do the trick. Fortunately, both of these explorers are quite similar. Essentially, you need to enter a smart contractโ€™s address or projectโ€™s/tokenโ€™s name. Then, you scroll down where you see a menu bar and click on the โ€œContractโ€ option. By doing so, youโ€™ll get to explore a smart contractโ€™s code, including the ABI (via โ€œCodeโ€), and the contractโ€™s โ€œreadโ€ and โ€œwriteโ€ functions (via โ€œRead Contractโ€ and โ€œWrite Contractโ€):

You must also have your Moralis Web3 API key to complete the upcoming challenges. To get it, make sure to create your free Moralis account. Then, you can access your admin area and obtain your API key:

Run Smart Contract Functions

One of the ways to incorporate smart contracts into dapps is to run smart contract functions. Thanks to Moralisโ€™ โ€œrunContractFunctionโ€ endpoint, it becomes incredibly straightforward. You just need to create a NodeJS dapp and incorporate the correct endpoint.

Start by creating a โ€œContractFunctionsโ€ folder and open it in Visual Studio Code (VSC). Next, use your terminal to initialize NodeJS by running the following command:

npm init -y

The above command will result in a โ€œpackage.jsonโ€ file in your file tree:

Then, install the required dependencies with this command:

npm i moralis dotenv

Also, create your โ€œ.envโ€ file, in which you need to paste your above-obtained Web3 API key: 

Moving forward, create an โ€œindex.jsโ€ file. The latter will contain the logic required to complete this smart contract programming tutorial. Open this file, and at the top, import Moralis and require โ€œ.envโ€:

const Moralis = require(โ€œmoralisโ€).default; require(โ€œdotenvโ€).config();

Then you need to define the ABI of the smart contract that you want to focus on. Weโ€™ll use the โ€œCool Catsโ€ contract on the Ethereum chain. By using the tips provided in the previous section, you already know how to get any contractโ€™s ABI:

With the ABI copied, return to VSC and create a new โ€œabi.jsonโ€ file. Open it and paste the contractโ€™s ABI. Next, use โ€œShift+Option+Fโ€ on Mac (or Windows/Linux equivalent) to properly rearrange the content. This contract has several โ€œreadโ€ functions; however, we will focus on running โ€œgetPriceโ€ with the โ€œrunContractFunctionโ€ endpoint.

Utilizing the โ€œrunContractFunctionโ€ Method

Reopen your โ€œindex.jsโ€ file and require the above-created โ€œabi.jsonโ€ file:

const ABI = require(โ€œ./abi.jsonโ€);

You can then initialize Moralis by utilizing your API key and implementing the โ€œMoralis.EvmApi.utils.runContractFunctionโ€ method. You also need to use the smart contractโ€™s details as parameters. When focusing on โ€œCool Catsโ€, these are the lines of code that do the trick:

Moralis.start({   apiKey: process.env.MORALIS_KEY }).then(async()=>{ 	   const response = await Moralis.EvmApi.utils.runContractFunction({     address: โ€œ0x1A92f7381B9F03921564a437210bB9396471050Cโ€,     functionName: โ€œgetPriceโ€     abi: ABI });  console.log(response.raw)  })

Finally, you can run your โ€œindex.jsโ€ script with the following command:

node index.js

If you have followed our lead so far, your terminal should return the following results:

Note: The prices in ETH use 18 decimal places. Hence, the above result indicates that the initial price for the โ€œCool Catsโ€ NFT was 0.02 ETH.

You can find the video version of this sub-tutorial below. This is also where you can practice running smart contract functions on another โ€œreadโ€ function (โ€œtokenURIโ€œ). In addition, you can use the video below to learn how to combine the results of running the โ€œgetPriceโ€ function with Moralisโ€™ โ€œgetNFTLowestPriceโ€ NFT API endpoint.

Write Smart Contract Functions

When running โ€œreadโ€ smart contract functions, you do not change the state of the blockchain (you do not execute on-chain transactions). However, when you write smart contract functions, you execute blockchain transactions. Thus, you need to have your MetaMask wallet ready for this smart contract programming tutorial. Moving forward, weโ€™ll focus on an example smart contract dapp that runs on the Polygon testnet (Mumbai). Weโ€™ll walk you through the core components of the backend and frontend scripts of our example โ€œSend ChainLinkโ€ dapp.

Note: You can find the complete code behind our example dapp on GitHub. There youโ€™ll see the โ€œwriteโ€ (frontend) and โ€œbackendโ€ folders.

With our code cloned, make sure you have the content of the โ€œwriteโ€ folder in your โ€œfrontendโ€ folder. Then, open that folder in VSC and install the required dependencies with this command:

npm i

Inside the โ€œindex.jsโ€ frontend script, you can see all required functionalities imported at the top, including wagmi:

import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; import { configureChains, mainnet, WagmiConfig, createClient } from 'wagmi' import { publicProvider } from 'wagmi/providers/public' import { polygonMumbai } from '@wagmi/chains';

Next, this script enables the Mumbai chain:

const { provider, webSocketProvider } = configureChains(  [mainnet, polygonMumbai],  [publicProvider()], )

This is where we create a wagmi client:

const client = createClient({   autoConnect: true,   provider,   webSocketProvider, })

Finally, this script wraps the entire app in โ€œwagmiConfigโ€:

const root = ReactDOM.createRoot(document.getElementById('root')); root.render(   <WagmiConfig client={client}>     <App />   </WagmiConfig> );

Implementing the MetaMask Wallet Connector

With the lines of code above, youโ€™ve set up your frontend. Next, you can use wagmi to connect the MetaMask wallet to your dapp inside the โ€œApp.jsโ€ script. For a detailed code walkthrough, use the video below, starting at 5:03. However, as far as connecting wallet functionality goes, the following โ€œimportโ€ lines are a prerequisite:

import { useConnect, useAccount, usePrepareContractWrite, useContractWrite } from "wagmi"; import { MetaMaskConnector } from "wagmi/connectors/metaMask"; import { useEffect, useState } from "react";

The following lines of code inside the โ€œApp()โ€ function finalizes the process:

const { address, isConnected } = useAccount(); const { connect } = useConnect({   connector: new MetaMaskConnector(), });

Getting the Wallet Balance

One of the code snippets from this articleโ€™s introduction focuses on getting a wallet balance. To implement this feature, you must use the โ€œbackendโ€ folder. In it, you can find the backend โ€œindex.jsโ€ script (08:15). This script only contains one endpoint: โ€œ/getBalanceโ€œ. At the core of this endpoint is the โ€œMoralis.EvmApi.token.getWalletTokenBalancesโ€ method. The latter fetches the connected wallet address via โ€œquery.addressโ€ for the LINK token (via โ€œtokenAddressesโ€œ) on the Mumbai chain (via chain ID). Here are the lines of code for this:

const response = await Moralis.EvmApi.token.getWalletTokenBalances({     address: query.address,     chain: "80001",     tokenAddresses: ["0x326C977E6efc84E512bB9C30f76E30c160eD06FB"] })

Just like you did in the above โ€œrunโ€ smart contract programming tutorial, you must initialize Moralis with your API key:

Moralis.start({   apiKey: process.env.MORALIS_KEY, }).then(() => {   app.listen(port, () => {     console.log(`Listening for reqs`);   }); });

Note: Again, make sure to store your key inside your โ€œ.envโ€ file. 

Do not forget to โ€œcdโ€ into your โ€œbackendโ€ folder and install all required dependencies with the โ€œnpm iโ€ command. Then, youโ€™ll be able to run your backend dapp with the following command:

node index.js

With your backend running, your frontend (App.js) gets to display the balance with the following โ€œasyncโ€ function:

async function getBalance() {   const response = await axios.get("http://localhost:3000/getBalance", {     params: {       address: address,     },   });    setUserBal(response.data.balance); }

The script utilizes โ€œuseEffectโ€ to call the above โ€œgetBalanceโ€ function when wallets connect to our dapp. Make sure to open a new terminal for your frontend because you need to keep your backend running. Then, โ€œcdโ€ into your โ€œfrontendโ€ folder and run the following command:

npm run start

Note: Use the video below (14:10) to explore how your dappโ€™s input fields work.

The โ€œwriteโ€ Function

With the above functionalities in place, weโ€™ve reached the core aspect of this smart contract programming tutorial. This is where weโ€™ll take a closer look at the lines of code that enable your dapp to trigger a smart contractโ€™s โ€œwriteโ€ functions. 

As you might have noticed earlier, the โ€œApp.jsโ€ script imports โ€œusePrepareContractWriteโ€ and โ€œuseContractWriteโ€œ. This enables your code to prepare the data and actually trigger the โ€œwriteโ€ contract functions. Using the video below, starting at 16:00, you can see how we use PolygonScan to get the โ€œChainLink Tokenโ€ smart contract details. This includes inspecting all โ€œwriteโ€ functions this smart contract includes and copying its ABI. You already have the latter ready in the โ€œabi.jsonโ€ file. Now, since our dapp aims to transfer LINK tokens, we want to focus on the โ€œtransferโ€ function of the โ€œChainLink Tokenโ€ contract. 

Note: You can learn the purpose of the โ€œuseDebounce.jsโ€ script in the video below (17:27).

Ultimately, the โ€œApp.jsโ€ script first prepares the details of the contract we are focusing on by utilizing โ€œusePrepareContractWriteโ€œ. Then, it uses โ€œuseContractWriteโ€ based on those details. These are the lines of code that enable our example dapp to trigger a โ€œwriteโ€ smart contract function:

const { config } = usePrepareContractWrite({   address: '0x326C977E6efc84E512bB9C30f76E30c160eD06FB',   abi: ABI,   chainId: 80001,   functionName: 'transfer(address,uint256)',   args: [debouncedReceiver, debouncedSendAmount],   enabled: Boolean(debouncedSendAmount) })  const { write } = useContractWrite(config)

The above โ€œwriteโ€ function is triggered when users hit the โ€œSendโ€ button:

<button disabled={!write} onClick={()=>write?.()}>Send</button>

Finally, hereโ€™s the video that weโ€™ve been referencing in this second sub-tutorial:   

What are Smart Contracts?

Smart contracts are on-chain programs โ€“ pieces of software that run on development blockchains (e.g., Ethereum). As such, smart contracts automate and guide on-chain processes. They do so by executing specific predefined actions whenever certain predefined conditions are met. Itโ€™s thanks to this automation that these on-chain programs are โ€œsmartโ€. Furthermore, smart contracts are cost-effective, autonomous, trustless, and secure. Plus, the code behind every smart contract is fully transparent โ€“ everyone can view it with blockchain explorers. 

Thanks to these properties, Web3 contracts have enormous potential to radically change all industries in the upcoming years. They have the power to eliminate intermediaries and make the world more efficient and fair. Of course, thatโ€™s the long-term goal. However, Web3 is still in its early stage; therefore, nowโ€™s the best time to learn Web3 programming. What better way to do that than to take on a smart contract programming tutorial? 

Student Enrolling in Moralis Academy Smart Contract Programming Tutorial Course

What is Smart Contract Programming?

So, what is smart contract programming? At its core, smart contract programming is the process of writing, compiling, deploying, and verifying smart contracts. However, since the first part โ€“ writing a smart contract โ€“ is the trickiest, smart contract programming primarily focuses on that task. After all, you can compile, deploy, and verify Web3 contracts with a couple of clicks when using the right tools. On the other hand, writing a proper smart contract from scratch is a rather advanced feat, especially if you aim to implement some original functionalities. 

To create a smart contract, you need to be proficient in one of the programming languages for smart contracts. Moreover, there isnโ€™t one universal smart contract language that targets all popular blockchains, at least not yet. Instead, you need to decide which blockchain you want to focus on and then choose among the supported languages for that chain. All in all, if you want to master smart contract programming, you need to be prepared to put in quite some time and effort. 

However, to start working with smart contracts is rather simple. For instance, if you want to deploy your smart contract on Ethereum that deals with already known tasks, you can use one of many verified smart contract templates and apply minor tweaks. Then, you can compile, deploy, and verify it with the Remix IDE and MetaMask. Furthermore, you can start incorporating smart contract functionalities into decentralized applications (dapps). A great example of that would be to call a smart contract function from JavaScript. You can use a Web3 JS call contract function or listen to smart contract events using ethers.js. 

Various Programming Languages for Smart Contract Programming - Solidity - Vyper - Rust

Languages for Smart Contract Programming

Below, you can see the list of the six most popular smart contract coding languages and the leading chains they focus on:

  • Solidity for Ethereum and other EVM-compatible chains
  • Vyper for Ethereum and other EVM-compatible chains
  • Yul (and Yul+) as an intermediate language for the Solidity compiler 
  • Rust for Solana, Polkadot, NEAR, and several other chains
  • C++ for EOS
  • JavaScript (NodeJS) for Hyperledger Fabric and NEAR

Other note-worthy programming languages that you can use to write smart contracts include Clarity (Bitcoin), Golang/Go (Ethereum), Marlowe (Cardano), Cadence (Flow), LIGO (Tezos), Move (Aptos), TEAL (Algorand), and Python (Hyperledger Fabric).  

Note: If you want to learn more details about Solidity, Vyper, and Yul, make sure to use the โ€œprogramming languages for smart contractsโ€ link above.

When it comes to incorporating smart contract functionalities into dapps, you can use any of your favorite programming languages thanks to Moralisโ€™ cross-platform interoperability. 

Smart Contract Programming Tutorial for Blockchain Developers โ€“ Summary

In todayโ€™s smart contract programming tutorial, we covered quite some ground. You had a chance to follow our lead and complete todayโ€™s smart contract programming tutorial. First, you learned to create a NodeJS dapp that runs โ€œreadโ€ smart contract functions using the Moralis โ€œrunContractFunctionโ€ endpoint. And in the second tutorial, you had an opportunity to clone our dapp and use it to trigger โ€œwriteโ€ smart contract functions. Once we finished the tutorial, we addressed some of the basics. As such, you had a chance to refresh your understanding of smart contracts and smart contract programming. You also learned what the leading smart contract coding languages are. 

If you enjoyed todayโ€™s tutorial, make sure to dive into Moralisโ€™ docs and tackle the โ€œTutorialsโ€ section. Donโ€™t forget to reinforce your blockchain development knowledge by visiting the Moralis YouTube channel and the Moralis blog. These two outlets cover a wide range of topics. For instance, some of the latest articles will help you understand blockchain-based data storage, how to get contract logs, how to get Ethereum transaction details, and much more. If you want to take on the smart contract programming course mentioned in the โ€œOverviewโ€ section, make sure to enroll in Moralis Academy.





Read More: moralis.io

Tags: BlockchainContractDevelopersProgrammingSmartTutorialweb 3.0Web3
ADVERTISEMENT

Recent

Crypto VC deals drop in Q1, but funding more than doubles: PitchBook

Crypto VC deals drop in Q1, but funding more than doubles: PitchBook

May 14, 2025
Ether Nears $2.7K, Dogecoin Zooms 9% to Keep Cheery Mood Ongoing

Ether Nears $2.7K, Dogecoin Zooms 9% to Keep Cheery Mood Ongoing

May 14, 2025
What are the next steps for the US stablecoin bill?

What are the next steps for the US stablecoin bill?

May 13, 2025

Categories

  • Bitcoin (4,880)
  • Blockchain (11,447)
  • Crypto (9,390)
  • Dark Web (551)
  • DeFi (8,414)
  • Ethereum (4,926)
  • Metaverse (7,575)
  • Monero (290)
  • NFT (1,504)
  • Solana (5,054)
  • Web3 (20,762)
  • Zcash (509)

Category

Select Category

    Advertise

    Advertise your site, company or product to millions of web3, NFT and cryptocurrency enthusiasts. Learn more

    Useful Links

    Advertise
    DMCA
    Contact Us
    Privacy Policy
    Shipping & Returns
    Terms of Use

    Resources

    Exchanges
    Changelly
    Web3 Jobs

    Recent News

    Crypto VC deals drop in Q1, but funding more than doubles: PitchBook

    Crypto VC deals drop in Q1, but funding more than doubles: PitchBook

    May 14, 2025
    Ether Nears $2.7K, Dogecoin Zooms 9% to Keep Cheery Mood Ongoing

    Ether Nears $2.7K, Dogecoin Zooms 9% to Keep Cheery Mood Ongoing

    May 14, 2025

    ยฉ 2022 Altszn.com. All Rights Reserved.

    No Result
    View All Result
    • Home
      • Home โ€“ Layout 1
      • Home โ€“ Layout 2
      • Home โ€“ Layout 3

    ยฉ Altszn.com. All Rights Reserved.

    • bitcoinBitcoin (BTC) $ 103,900.00
    • ethereumEthereum (ETH) $ 2,599.54
    • xrpXRP (XRP) $ 2.58
    • tetherTether (USDT) $ 1.00
    • bnbBNB (BNB) $ 655.08
    • solanaSolana (SOL) $ 178.53
    • usd-coinUSDC (USDC) $ 0.999946
    • dogecoinDogecoin (DOGE) $ 0.234894
    • cardanoCardano (ADA) $ 0.815397
    • tronTRON (TRX) $ 0.275522
    • staked-etherLido Staked Ether (STETH) $ 2,598.62
    • wrapped-bitcoinWrapped Bitcoin (WBTC) $ 103,818.00
    • suiSui (SUI) $ 3.91
    • chainlinkChainlink (LINK) $ 17.00
    • wrapped-stethWrapped stETH (WSTETH) $ 3,126.58
    • avalanche-2Avalanche (AVAX) $ 25.62
    • stellarStellar (XLM) $ 0.309408
    • shiba-inuShiba Inu (SHIB) $ 0.000016
    • hedera-hashgraphHedera (HBAR) $ 0.208126
    • pi-networkPi Network (PI) $ 1.21
    • hyperliquidHyperliquid (HYPE) $ 25.28
    • the-open-networkToncoin (TON) $ 3.32
    • leo-tokenLEO Token (LEO) $ 8.80
    • bitcoin-cashBitcoin Cash (BCH) $ 405.38
    • polkadotPolkadot (DOT) $ 5.05
    • litecoinLitecoin (LTC) $ 100.89
    • wethWETH (WETH) $ 2,602.87
    • usdsUSDS (USDS) $ 0.999892
    • moneroMonero (XMR) $ 340.08
    • wrapped-eethWrapped eETH (WEETH) $ 2,777.45
    • pepePepe (PEPE) $ 0.000014
    • bitget-tokenBitget Token (BGB) $ 4.73
    • binance-bridged-usdt-bnb-smart-chainBinance Bridged USDT (BNB Smart Chain) (BSC-USD) $ 1.00
    • ethena-usdeEthena USDe (USDE) $ 1.00
    • coinbase-wrapped-btcCoinbase Wrapped BTC (CBBTC) $ 103,899.00
    • whitebitWhiteBIT Coin (WBT) $ 30.16
    • uniswapUniswap (UNI) $ 6.70
    • bittensorBittensor (TAO) $ 452.08
    • nearNEAR Protocol (NEAR) $ 3.09
    • aptosAptos (APT) $ 5.86
    • daiDai (DAI) $ 0.999985
    • aaveAave (AAVE) $ 228.92
    • ondo-financeOndo (ONDO) $ 1.08
    • okbOKB (OKB) $ 54.70
    • kaspaKaspa (KAS) $ 0.122217
    • jito-staked-solJito Staked SOL (JITOSOL) $ 214.63
    • internet-computerInternet Computer (ICP) $ 5.76
    • ethereum-classicEthereum Classic (ETC) $ 19.97
    • crypto-com-chainCronos (CRO) $ 0.102089
    • blackrock-usd-institutional-digital-liquidity-fundBlackRock USD Institutional Digital Liquidity Fund (BUIDL) $ 1.00
    • bitcoinBitcoin (BTC) $ 103,900.00
    • ethereumEthereum (ETH) $ 2,599.54
    • xrpXRP (XRP) $ 2.58
    • tetherTether (USDT) $ 1.00
    • bnbBNB (BNB) $ 655.08
    • solanaSolana (SOL) $ 178.53
    • usd-coinUSDC (USDC) $ 0.999946
    • dogecoinDogecoin (DOGE) $ 0.234894
    • cardanoCardano (ADA) $ 0.815397
    • tronTRON (TRX) $ 0.275522
    • staked-etherLido Staked Ether (STETH) $ 2,598.62
    • wrapped-bitcoinWrapped Bitcoin (WBTC) $ 103,818.00
    • suiSui (SUI) $ 3.91
    • chainlinkChainlink (LINK) $ 17.00
    • wrapped-stethWrapped stETH (WSTETH) $ 3,126.58
    • avalanche-2Avalanche (AVAX) $ 25.62
    • stellarStellar (XLM) $ 0.309408
    • shiba-inuShiba Inu (SHIB) $ 0.000016
    • hedera-hashgraphHedera (HBAR) $ 0.208126
    • pi-networkPi Network (PI) $ 1.21
    • hyperliquidHyperliquid (HYPE) $ 25.28
    • the-open-networkToncoin (TON) $ 3.32
    • leo-tokenLEO Token (LEO) $ 8.80
    • bitcoin-cashBitcoin Cash (BCH) $ 405.38
    • polkadotPolkadot (DOT) $ 5.05
    • litecoinLitecoin (LTC) $ 100.89
    • wethWETH (WETH) $ 2,602.87
    • usdsUSDS (USDS) $ 0.999892
    • moneroMonero (XMR) $ 340.08
    • wrapped-eethWrapped eETH (WEETH) $ 2,777.45
    • pepePepe (PEPE) $ 0.000014
    • bitget-tokenBitget Token (BGB) $ 4.73
    • binance-bridged-usdt-bnb-smart-chainBinance Bridged USDT (BNB Smart Chain) (BSC-USD) $ 1.00
    • ethena-usdeEthena USDe (USDE) $ 1.00
    • coinbase-wrapped-btcCoinbase Wrapped BTC (CBBTC) $ 103,899.00
    • whitebitWhiteBIT Coin (WBT) $ 30.16
    • uniswapUniswap (UNI) $ 6.70
    • bittensorBittensor (TAO) $ 452.08
    • nearNEAR Protocol (NEAR) $ 3.09
    • aptosAptos (APT) $ 5.86
    • daiDai (DAI) $ 0.999985
    • aaveAave (AAVE) $ 228.92
    • ondo-financeOndo (ONDO) $ 1.08
    • okbOKB (OKB) $ 54.70
    • kaspaKaspa (KAS) $ 0.122217
    • jito-staked-solJito Staked SOL (JITOSOL) $ 214.63
    • internet-computerInternet Computer (ICP) $ 5.76
    • ethereum-classicEthereum Classic (ETC) $ 19.97
    • crypto-com-chainCronos (CRO) $ 0.102089
    • blackrock-usd-institutional-digital-liquidity-fundBlackRock USD Institutional Digital Liquidity Fund (BUIDL) $ 1.00