Skip to content
Alchemy Logo

Sonic Chain API Quickstart

How to get started building on Sonic using Alchemy

Sonic Blaze testnet deprecation

Support for the Sonic Blaze testnet ends on June 12, 2026. Migrate to Sonic Testnet (sonic-testnet) before then. See the Sonic Blaze Deprecation Notice for details.

Don't have an API key?

Build faster with production-ready APIs, smart wallets and rollup infrastructure across 70+ chains. Create your free Alchemy API key and get started today.

Sonic is an EVM-compatible, high-performance, scalable, and secure layer-1 blockchain. With over 10,000 TPS, one-second confirmation times, and low-cost transactions, it provides a robust platform for decentralized applications (dApps) and Ethereum-based deployments.

The Sonic API lets you interact with the Sonic network through a set of JSON-RPC methods. If you've worked with Ethereum's JSON-RPC APIs, the design will feel familiar.

Let's use the viem package to create a Sonic client connected to Alchemy and fetch the latest block number!

npm install --save viem

import { createPublicClient, http } from "viem"; 
import { sonic } from "viem/chains";
 
const client = createPublicClient({
  chain: sonic,
  transport: http("https://sonic-mainnet.g.alchemy.com/v2/YOUR_ALCHEMY_API_KEY"),
});

Now that you've created a client connected to Alchemy, you can continue with some basics:

const blockNumber = await client.getBlockNumber();
console.log("Current block number:", blockNumber);

const balance = await client.getBalance({ address: "0xab5801a7d398351b8be11c439e05c5b3259aec9b" });
console.log("Balance (S):", Number(balance) / 1e18);

const block = await client.getBlock({
  blockNumber: blockNumber, // from previous example
});
console.log(block);

const tx = await client.getTransaction({ hash: "0xYOUR_TX_HASH" });
console.log(tx);

const receipt = await client.getTransactionReceipt({
  hash: "0xYOUR_TX_HASH"
});
console.log(receipt);

For the full list of Sonic APIs, see the Sonic API Endpoints.

Was this page helpful?