SDK Reference

Quick-start guides and code examples for 43 blockchain developer SDKs across every major ecosystem — EVM, Solana, Cosmos, Polkadot, NEAR, Aptos, Starknet, and more. Each card includes install instructions and a working code example.

ethers.js

v6javascript
Official Docs

Complete Ethereum wallet and smart contract library for JavaScript.

Install

bash
npm install ethers

Quick Start

javascript
import { ethers } from "ethers";

const provider = new ethers.JsonRpcProvider("https://rpc.ankr.com/eth");
const balance = await provider.getBalance("0x...");
console.log(ethers.formatEther(balance));
ethereumevm

viem

v2typescript
Official Docs

TypeScript interface for Ethereum — fast, lightweight, modular.

Install

bash
npm install viem

Quick Start

typescript
import { createPublicClient, http } from "viem";
import { mainnet } from "viem/chains";

const client = createPublicClient({
  chain: mainnet,
  transport: http(),
});

const blockNumber = await client.getBlockNumber();
ethereumevmtypescript

web3.js

v4javascript
Official Docs

Ethereum JavaScript API — interact with smart contracts and nodes.

Install

bash
npm install web3

Quick Start

javascript
import Web3 from "web3";

const web3 = new Web3("https://rpc.ankr.com/eth");
const balance = await web3.eth.getBalance("0x...");
console.log(web3.utils.fromWei(balance, "ether"));
ethereumevm

wagmi

v2typescript
Official Docs

React Hooks for Ethereum — wallets, contracts, transactions.

Install

bash
npm install wagmi viem

Quick Start

typescript
import { useAccount, useBalance } from "wagmi";

function Wallet() {
  const { address } = useAccount();
  const { data: balance } = useBalance({ address });
  return <p>{balance?.formatted} {balance?.symbol}</p>;
}
ethereumreactevm

solana-web3

v1javascript
Official Docs

Solana JavaScript SDK for interacting with the Solana blockchain.

Install

bash
npm install @solana/web3.js

Quick Start

javascript
import { Connection, PublicKey } from "@solana/web3.js";

const conn = new Connection("https://api.mainnet-beta.solana.com");
const balance = await conn.getBalance(
  new PublicKey("...")
);
console.log(balance / 1e9);
solana

web3.py

v6python
Official Docs

Python library for interacting with Ethereum.

Install

bash
pip install web3

Quick Start

python
from web3 import Web3

w3 = Web3(Web3.HTTPProvider("https://rpc.ankr.com/eth"))
balance = w3.eth.get_balance("0x...")
print(w3.from_wei(balance, "ether"))
ethereumpythonevm

RainbowKit

v2typescript
Official Docs

React wallet connection UI built on wagmi — beautiful, customizable.

Install

bash
npm install @rainbow-me/rainbowkit wagmi viem

Quick Start

typescript
import { getDefaultConfig, RainbowKitProvider } from "@rainbow-me/rainbowkit";
import "@rainbow-me/rainbowkit/styles.css";

const config = getDefaultConfig({
  appName: "My DApp",
  projectId: "YOUR_PROJECT_ID",
  chains: [mainnet],
  ssr: true,
});

export default function App() {
  return (
    <RainbowKitProvider>
      <YourApp />
    </RainbowKitProvider>
  );
}
ethereumreactwalletevm

ConnectKit

v1typescript
Official Docs

Family-friendly wallet connector for React built on wagmi.

Install

bash
npm install connectkit wagmi viem

Quick Start

typescript
import { ConnectKitProvider, getDefaultConfig } from "connectkit";

const config = getDefaultConfig({
  appName: "My DApp",
  walletConnectProjectId: "YOUR_PROJECT_ID",
  chains: [mainnet],
});
ethereumreactwalletevm

Web3-Onboard

v2typescript
Official Docs

Framework-agnostic wallet connection framework by Blocknative.

Install

bash
npm install @web3-onboard/react

Quick Start

typescript
import Onboard from "@web3-onboard/core";

const onboard = Onboard({
  wallets: [injectedModule()],
  chains: [{ id: "0x1", token: "ETH", label: "Ethereum", rpcUrl: "https://rpc.ankr.com/eth" }],
  appMetadata: { name: "My DApp" },
});
ethereumwalletevm

Moralis

v2typescript
Official Docs

Unified API for NFTs, tokens, transactions, and blockchain data across chains.

Install

bash
npm install moralis

Quick Start

typescript
import Moralis from "moralis";

await Moralis.start({ apiKey: "YOUR_API_KEY" });

const balance = await Moralis.EvmApi.token.getWalletTokenBalances({
  address: "0x...",
  chain: "0x1",
});
ethereummulti-chainapievm

Alchemy SDK

v3typescript
Official Docs

Official SDK for Alchemy APIs — enhanced NFT, token, and transaction data.

Install

bash
npm install @alchemy/alchemy-sdk

Quick Start

typescript
import { Alchemy, Network } from "alchemy-sdk";

const alchemy = new Alchemy({ apiKey: "demo", network: Network.ETH_MAINNET });
const balance = await alchemy.core.getBalance("0x...");
console.log(balance);
ethereummulti-chainapievm

Hardhat

v2javascript
Official Docs

Ethereum development environment for compiling, testing, and deploying contracts.

Install

bash
npm install --save-dev hardhat

Quick Start

javascript
// scripts/deploy.js
const hre = require("hardhat");

async function main() {
  const Token = await hre.ethers.getContractFactory("Token");
  const token = await Token.deploy();
  await token.waitForDeployment();
  console.log("Deployed to:", await token.getAddress());
}
main();
ethereumtoolingevm

Foundry

v1rust
Official Docs

Blazing-fast Solidity toolkit — forge, cast, anvil. Written in Rust.

Install

bash
curl -L https://foundry.paradigm.xyz | bash

Quick Start

rust
// Deploy & verify with forge
forge create --rpc-url $RPC \
  --private-key $PK \
  src/Token.sol:Token \
  --verify --etherscan-api-key $KEY

// Cast a call to read balance
cast call 0xTOKEN "balanceOf(address)(uint256)" 0xUSER \
  --rpc-url $RPC
ethereumtoolingsolidityevm

OpenZeppelin

v5solidity
Official Docs

Battle-tested smart contract libraries — ERC-20, ERC-721, access control, security.

Install

bash
npm install @openzeppelin/contracts

Quick Start

solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {
  constructor() ERC20("MyToken", "MTK") {
    _mint(msg.sender, 1_000_000 * 10 ** decimals());
  }
}
ethereumsolidityevmsecurity

Solady

v0.1solidity
Official Docs

Gas-optimized Solidity snippets and alternative to OpenZeppelin.

Install

bash
forge install vectorized/solady

Quick Start

solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import { ERC20 } from "solady/tokens/ERC20.sol";

contract MyToken is ERC20 {
  function name() public pure override returns (string memory) { return "MyToken"; }
  function symbol() public pure override returns (string memory) { return "MTK"; }
}
ethereumsoliditygas-optimizedevm

Brownie

v1python
Official Docs

Python-based development and testing framework for Solidity smart contracts.

Install

bash
pip install eth-brownie

Quick Start

python
from brownie import accounts, Token

def main():
    acct = accounts.load("dev")
    token = Token.deploy("MyToken", "MTK", 1e24, {"from": acct})
    print(f"Deployed: {token.address}")
ethereumpythontoolingevm

Ape

v0.8python
Official Docs

Smart contract development framework for Python — the successor to Brownie.

Install

bash
pip install ape

Quick Start

python
from ape import accounts, project

def main():
    acct = accounts.load("dev")
    token = acct.deploy(project.Token)
    print(f"Deployed: {token.address}")
ethereumpythontoolingevm

Truffle

v5javascript
Official Docs

Classic Ethereum development suite for contracts, tests, and migrations.

Install

bash
npm install -g truffle

Quick Start

javascript
// migrations/2_deploy.js
const Token = artifacts.require("Token");

module.exports = function (deployer) {
  deployer.deploy(Token);
};
ethereumtoolingevm

ethers.rs

v2rust
Official Docs

Rust port of ethers.js — EVM wallet, provider, and contract bindings.

Install

bash
cargo add ethers

Quick Start

rust
use ethers::providers::{Provider, Http};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let provider = Provider::<Http>::try_from("https://rpc.ankr.com/eth")?;
    let block = provider.get_block_number().await?;
    println!("Block: {block}");
    Ok(())
}
ethereumrustevm

go-ethereum

v1.14go
Official Docs

Official Go implementation of Ethereum — Geth client and ethclient SDK.

Install

bash
go get github.com/ethereum/go-ethereum

Quick Start

go
package main

import (
  "context"
  "fmt"
  "github.com/ethereum/go-ethereum/ethclient"
)

func main() {
  client, _ := ethclient.Dial("https://rpc.ankr.com/eth")
  block, _ := client.BlockByNumber(context.Background(), nil)
  fmt.Println("Block:", block.Number())
}
ethereumgoevm

cosmos-sdk

v0.50go
Official Docs

Framework for building application-specific blockchains in the Cosmos ecosystem.

Install

bash
go get github.com/cosmos/cosmos-sdk

Quick Start

go
package main

import (
  "github.com/cosmos/cosmos-sdk/client"
  "github.com/cosmos/cosmos-sdk/types/tx"
)

// Broadcast a Cosmos transaction
func main() {
  ctx := client.Context{}
  _ = ctx.WithTxConfig(tx.NewTxConfig())
}
cosmosgo

CosmWasm

v2rust
Official Docs

Smart contract platform for Cosmos chains — write contracts in Rust.

Install

bash
cargo install cosmwasm-check

Quick Start

rust
use cosmwasm_std::{entry_point, DepsMut, MessageInfo, Response};

#[entry_point]
pub fn execute(
  _deps: DepsMut,
  _info: MessageInfo,
  msg: ExecuteMsg,
) -> Result<Response, cosmwasm_std::StdError> {
  match msg {
    ExecuteMsg::Increment {} => Ok(Response::new()
      .add_attribute("action", "increment")),
  }
}
cosmosrustwasm

polkadot.js

v14typescript
Official Docs

JavaScript SDK for Polkadot & Substrate chains — RPC, keys, extrinsics.

Install

bash
npm install @polkadot/api

Quick Start

typescript
import { ApiPromise, WsProvider } from "@polkadot/api";

const provider = new WsProvider("wss://rpc.polkadot.io");
const api = await ApiPromise.create({ provider });
const block = await api.rpc.chain.getBlock();
console.log("Block:", block.block.header.number.toString());
polkadotsubstrate

near-api-js

v3javascript
Official Docs

JavaScript SDK for NEAR Protocol — accounts, contracts, transactions.

Install

bash
npm install near-api-js

Quick Start

javascript
import { connect, keyStores } from "near-api-js";

const near = await connect({
  networkId: "mainnet",
  keyStore: new keyStores.BrowserLocalStorageKeyStore(),
  nodeUrl: "https://rpc.mainnet.near.org",
});
const account = await near.account("example.near");
const balance = await account.getAccountBalance();
console.log(balance.total);
near

aptos-sdk

v1typescript
Official Docs

Official SDK for the Aptos blockchain — accounts, transactions, resources.

Install

bash
npm install @aptos-labs/ts-sdk

Quick Start

typescript
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";

const aptos = new Aptos(new AptosConfig({ network: Network.MAINNET }));
const balance = await aptos.getAccountBalance({
  accountAddress: "0x...",
});
console.log(balance);
aptosmove

starknet.js

v6typescript
Official Docs

JavaScript SDK for Starknet — accounts, contracts, and RPC calls.

Install

bash
npm install starknet

Quick Start

typescript
import { RpcProvider, Account } from "starknet";

const provider = new RpcProvider({ nodeUrl: "https://starknet-mainnet.public.blastapi.io" });
const account = new Account(provider, "0x...", "0x...");
const balance = await account.getBalance();
console.log(balance);
starknetevmzk

fuels-ts

v0.95typescript
Official Docs

TypeScript SDK for Fuel Network — the fastest modular execution layer.

Install

bash
npm install fuels

Quick Start

typescript
import { Provider, Wallet } from "fuels";

const provider = await Provider.create("https://mainnet.fuel.network/v1/graphql");
const wallet = Wallet.fromPrivateKey("0x...", provider);
const balance = await wallet.getBalance();
console.log(balance.toString());
fuelmodular

hedera-sdk

v2javascript
Official Docs

Official SDK for Hedera Hashgraph — crypto transfers, tokens, smart contracts.

Install

bash
npm install @hashgraph/sdk

Quick Start

javascript
import { Client, AccountBalanceQuery } from "@hashgraph/sdk";

const client = Client.forMainnet();
client.setOperator(myAccountId, myPrivateKey);

const balance = await new AccountBalanceQuery()
  .setAccountId("0.0.1")
  .execute(client);
console.log(balance.hbars.toString());
hederadag

tronweb

v6javascript
Official Docs

JavaScript SDK for TRON — interact with nodes, contracts, and TRC tokens.

Install

bash
npm install tronweb

Quick Start

javascript
import TronWeb from "tronweb";

const tronWeb = new TronWeb({
  fullHost: "https://api.trongrid.io",
  privateKey: "YOUR_PRIVATE_KEY",
});
const balance = await tronWeb.trx.getBalance("...");
console.log(balance / 1e6);
tronevm

eosjs

v22javascript
Official Docs

JavaScript SDK for EOSIO blockchains — actions, transactions, and RPC.

Install

bash
npm install eosjs

Quick Start

javascript
import { Api, JsonRpc } from "eosjs";

const rpc = new JsonRpc("https://eos.greymass.com", { fetch });
const api = new Api({ rpc });
const info = await rpc.get_info();
console.log(info.head_block_num);
eosiodpos

taquito

v22typescript
Official Docs

TypeScript SDK for Tezos — smart contracts, wallets, and baking operations.

Install

bash
npm install @taquito/taquito

Quick Start

typescript
import { TezosToolkit } from "@taquito/taquito";

const Tezos = new TezosToolkit("https://mainnet.api.tez.ie");
const balance = await Tezos.tz.getBalance("tz1...");
console.log(balance.toNumber() / 1e6);
tezos

stellar-sdk

v12javascript
Official Docs

Official JavaScript SDK for Stellar — payments, assets, and transactions.

Install

bash
npm install stellar-sdk

Quick Start

javascript
import { Horizon } from "stellar-sdk";

const server = new Horizon.Server("https://horizon.stellar.org");
const account = await server.loadAccount("G...");
console.log(account.balances);
stellar

cardano-serialization-lib

v14rust
Official Docs

Rust library for Cardano transaction building, signing, and serialization.

Install

bash
npm install @emurgo/cardano-serialization-lib-browser

Quick Start

rust
import * as CSL from "@emurgo/cardano-serialization-lib-browser";

const amount = CSL.Value.new(CSL.BigNum.from_str("1000000"));
console.log(amount.coin().to_str());
cardanorustutxo

multiversx-sdk

v13typescript
Official Docs

Official SDK for Multiversx (formerly Elrond) — wallets, transactions, contracts.

Install

bash
npm install @multiversx/sdk-core @multiversx/sdk-network-providers

Quick Start

typescript
import { ApiNetworkProvider } from "@multiversx/sdk-network-providers";

const provider = new ApiNetworkProvider("https://api.multiversx.com");
const account = await provider.getAccount("erd1...");
console.log(account.balance);
multiversxelrond

avalanchejs

v4typescript
Official Docs

JavaScript SDK for Avalanche — C-Chain, P-Chain, X-Chain, and subnets.

Install

bash
npm install avalanche

Quick Start

typescript
import { Avalanche } from "avalanche";

const avax = new Avalanche("api.avax.network", 443, "https");
const xchain = avax.XChain();
const balance = await xchain.getBalance("X-avax1...", "AVAX");
console.log(balance.balance);
avalancheevmsubnet

neo3

v3javascript
Official Docs

JavaScript SDK for NEO N3 blockchain — smart contracts and wallets.

Install

bash
npm install @cityofzion/neon-js

Quick Start

javascript
import { rpc } from "@cityofzion/neon-js";

const client = new rpc.RPCClient("https://mainnet1.neo.coz.io:443");
const block = await client.getBlockCount();
console.log("Block:", block);
neoevm

flow-js

v1javascript
Official Docs

JavaScript SDK for Flow blockchain — Cadence scripts, transactions, and accounts.

Install

bash
npm install @onflow/fcl

Quick Start

javascript
import * as fcl from "@onflow/fcl";

fcl.config()
  .put("accessNode.api", "https://rest-mainnet.onflow.org");

const balance = await fcl.query({
  cadence: `
    import FungibleToken from 0xf233dcee88fe0abe
    pub fun main(addr: Address): UFix64 {
      return 0.0
    }
  `,
  args: (arg, t) => [arg("0x...", t.Address)],
});
console.log(balance);
flowcadence

iota-sdk

v1typescript
Official Docs

Official SDK for IOTA — Tangle-based transactions and digital assets.

Install

bash
npm install @iota/sdk

Quick Start

typescript
import { Client } from "@iota/sdk";

const client = new Client({ nodes: ["https://api.mainnet.iota.cafe"] });
const info = await client.getInfo();
console.log(info.nodeInfo.name);
iotadag

lisk-sdk

v6javascript
Official Docs

SDK for building Lisk-compatible sidechains and applications.

Install

bash
npm install lisk-sdk

Quick Start

javascript
import { apiClient } from "lisk-sdk";

const client = await apiClient.createWSClient("wss://mainnet.lisk.com/ws");
const info = await client.node.getNodeInfo();
console.log(info.height);
liskdpos

gear-js

v0.42typescript
Official Docs

JavaScript SDK for Gear Network — wasm smart contracts on Substrate.

Install

bash
npm install @gear-js/api

Quick Start

typescript
import { GearApi } from "@gear-js/api";

const api = await GearApi.create({ providerAddress: "wss://rpc-vara.gear-tech.io" });
const block = await api.blocks.getLatest();
console.log(block);
gearsubstratewasm

ethers-php

v0.3php
Official Docs

PHP Ethereum client and wallet library, inspired by ethers.js.

Install

bash
composer require web3p/ethers

Quick Start

php
use Ethers\Provider\Provider;

$provider = Provider::fromJsonRpc("https://rpc.ankr.com/eth");
$balance = $provider->getBalance("0x...");
echo $balance->toString();
ethereumphpevm

Nethereum

v4csharp
Official Docs

.NET integration library for Ethereum — RPC, contracts, signing.

Install

bash
dotnet add package Nethereum.Web3

Quick Start

csharp
using Nethereum.Web3;

var web3 = new Web3("https://rpc.ankr.com/eth");
var balance = await web3.Eth.GetBalance.SendRequestAsync("0x...");
Console.WriteLine(balance.Value);
ethereumdotnetevm

web3j

v4java
Official Docs

Java/Android library for Ethereum — wallets, smart contracts, and RPC.

Install

bash
implementation 'org.web3j:core:4.12.0'

Quick Start

java
import org.web3j.protocol.Web3j;
import org.web3j.protocol.http.HttpService;

Web3j web3 = Web3j.build(new HttpService("https://rpc.ankr.com/eth"));
var balance = web3.ethGetBalance("0x...", DefaultBlockParameterName.LATEST)
  .send();
System.out.println(balance.getBalance());
ethereumjavaevm