Menjalankan dApp Ethereum produksi tanpa penyedia node andal sangat berisiko—node Geth self-hosted sering tertinggal, kehilangan reorg, dan melambat ketika traffic naik. Alchemy API mengatasinya dengan menyediakan infrastruktur node yang diperkuat plus kumpulan API yang ditingkatkan. Misalnya, Anda bisa mendapatkan seluruh NFT di dompet hanya dengan satu panggilan, tanpa harus memindai semua blok dari awal.
Panduan ini membahas implementasi seluruh permukaan Alchemy API: mulai dari pembuatan aplikasi, autentikasi, pemanggilan metode JSON-RPC standar, pemanfaatan endpoint yang ditingkatkan, berlangganan transaksi tertunda via WebSocket, hingga pengiriman akun pintar dengan sponsor gas menggunakan Account Kit. Tersedia contoh curl dan Node.js di setiap bagian utama, serta penjelasan pengaruh unit komputasi (CU) terhadap tagihan bulanan Anda.
Jika Anda ingin menguji berbagai endpoint blockchain dan dompet web3, Apidog memudahkan pengujian di satu tempat. Untuk wawasan lebih lanjut mengenai API dompet kripto, lihat juga panduan API dompet kripto terbaik sebelum memilih penyedia.
<!--kg-card-begin: html-->
<!--kg-card-end: html-->
TL;DR
- Alchemy mendukung Ethereum, Polygon, Arbitrum, Optimism, Base, Solana, zkSync, Starknet, dan banyak lagi dalam satu dasbor.
- Setiap aplikasi mendapatkan endpoint HTTPS & WebSocket untuk JSON-RPC standar + API ditingkatkan seperti
alchemy_getAssetTransfers,alchemy_getTokenBalances, dangetNFTs. - SDK JavaScript
alchemy-sdkmembungkus ethers.js dan menyediakan typed helpers untuk semua endpoint khusus Alchemy. - Account Kit memungkinkan akun pintar ERC-4337 dengan sponsor gas, session keys, dan autentikasi passkey melalui Gas Manager.
- Penggunaan diukur dalam unit komputasi (CU): tier Gratis (300M CU/bulan), Growth (400M+ CU), Scale (custom).
- Rate limit diterapkan per aplikasi & metode; permintaan batch dan backoff SDK membantu menghindari throttling.
Apa itu Alchemy API?
Alchemy adalah platform developer web3 yang menyediakan node blockchain terkelola dan mesin pengindeksan data. Tiga keunggulan utamanya:
- Node JSON-RPC high-availability di >40 chain.
- API ditingkatkan untuk transfer dan metadata NFT yang sudah terindeks.
- Stack abstraksi akun (Account Kit) untuk UX tanpa gas.
Infura memberi akses node mentah saja. Alchemy menambah indexing layer—misal, satu panggilan alchemy_getAssetTransfers sudah cukup untuk dapatkan seluruh transfer ERC-20, tanpa perlu iterasi blok manual. Inilah alasan banyak dompet, dasbor DeFi, dan marketplace NFT menggunakan Alchemy untuk kebutuhan data intensif.
Autentikasi dan Pengaturan
- Buat akun di dasbor Alchemy.
- Klik Buat aplikasi baru, pilih chain (Ethereum Mainnet, Polygon, Base, dll.) & jaringan (mainnet/testnet).
- Setiap aplikasi punya API key unik di akhir URL endpoint.
Contoh endpoint:
HTTPS:
https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY
WebSocket:
wss://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY
Tips:
- Jangan pernah expose API key di front-end. Gunakan env var & atur whitelist referer di dasbor Alchemy.
- Instal SDK:
npm install alchemy-sdk
Inisialisasi klien:
import { Alchemy, Network } from "alchemy-sdk";
const alchemy = new Alchemy({
apiKey: process.env.ALCHEMY_API_KEY,
network: Network.ETH_MAINNET,
});
const block = await alchemy.core.getBlockNumber();
console.log("Blok terbaru:", block);
Endpoint Inti
JSON-RPC Standar melalui HTTPS
Semua metode JSON-RPC Ethereum standar dapat digunakan. Contoh: eth_getBalance via curl:
curl https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"method":"eth_getBalance",
"params":["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","latest"],
"id":1
}'
Response: saldo dalam wei (hex string). Pola serupa untuk eth_call, eth_sendRawTransaction, eth_getLogs, dst.
API yang Ditingkatkan: getAssetTransfers
alchemy_getAssetTransfers mengembalikan seluruh transfer (ETH, ERC-20, ERC-721, ERC-1155, internal & eksternal) untuk address tertentu dalam satu panggilan.
import { Alchemy, Network, AssetTransfersCategory } from "alchemy-sdk";
const alchemy = new Alchemy({
apiKey: process.env.ALCHEMY_API_KEY,
network: Network.ETH_MAINNET,
});
const transfers = await alchemy.core.getAssetTransfers({
fromBlock: "0x0",
toAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
category: [
AssetTransfersCategory.EXTERNAL,
AssetTransfersCategory.ERC20,
AssetTransfersCategory.ERC721,
],
maxCount: 100,
});
for (const t of transfers.transfers) {
console.log(`${t.asset} ${t.value} dari ${t.from} ke ${t.to}`);
}
API yang Ditingkatkan: getTokenBalances dan getNFTs
Dapatkan seluruh token yang dimiliki address tanpa perlu tahu kontrak token-nya:
const balances = await alchemy.core.getTokenBalances(
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
);
for (const token of balances.tokenBalances) {
const meta = await alchemy.core.getTokenMetadata(token.contractAddress);
console.log(`${meta.symbol}: ${token.tokenBalance}`);
}
Untuk NFT:
const nfts = await alchemy.nft.getNftsForOwner(
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
);
console.log(`Memiliki ${nfts.totalCount} NFT`);
API Langganan melalui WebSocket
Berlangganan pembaruan (misal, transaksi tertunda) tanpa polling:
import { Alchemy, Network, AlchemySubscription } from "alchemy-sdk";
const alchemy = new Alchemy({
apiKey: process.env.ALCHEMY_API_KEY,
network: Network.ETH_MAINNET,
});
alchemy.ws.on(
{
method: AlchemySubscription.PENDING_TRANSACTIONS,
toAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
},
(tx) => console.log("Transaksi USDC tertunda:", tx.hash)
);
Bot MEV, pemantau mempool, dan UI real-time sangat mengandalkan fitur ini.
Account Kit dan Gas Manager
Account Kit = stack akun pintar Alchemy (React SDK, smart contract account, Gas Manager). Pengguna daftar via passkey/email, dapat dompet pintar tanpa seed phrase/gas.
import { createLightAccountClient } from "@account-kit/smart-contracts";
import { alchemy, sepolia } from "@account-kit/infra";
const client = createLightAccountClient({
transport: alchemy({ apiKey: process.env.ALCHEMY_API_KEY }),
chain: sepolia,
signer: yourSigner,
});
const { hash } = await client.sendUserOperation({
uo: { target: "0x...", data: "0x", value: 0n },
});
Untuk pairing akun pintar dengan dompet embedded, cek Panduan Privy API.
Kesalahan Umum dan Batas Kecepatan
- Penggunaan dihitung via CU:
-
eth_call: 26 CU -
eth_getLogs: 75 CU -
alchemy_getAssetTransfers: 150 CU -
eth_getBlockByNumber: 16 CU
-
- Tier Gratis: 300M CU/bulan + limit throughput per detik.
Error umum:
- 429 Too Many Requests: CU per detik terlampaui. Retry/backoff (SDK menangani otomatis).
- 403 Forbidden: Referer tidak cocok, atau API key nonaktif.
- -32600 Invalid Request: Format JSON-RPC salah.
-
-32000 execution reverted: Eksekusi kontrak gagal. Cek reason dengan
eth_call& alat simulasi.
Batch request: Kirim hingga 1000 panggilan JSON-RPC dalam satu HTTP POST untuk efisiensi CU dan network.
Untuk workflow pengujian batch, baca pengujian API tanpa Postman.
Harga Alchemy
- Gratis: 300M CU/bulan, 1 app, komunitas.
- Growth: $49/bulan, 400M CU, kelebihan bayar per CU, analitik lanjutan.
- Scale: $289/bulan, 1.5B CU, throughput custom, support prioritas.
- Enterprise: custom pricing, SLA, private node, rekayasa solusi.
CU reset tiap bulan. Growth/Scale: kelebihan dibayar. Gratis: request gagal (429) jika lewat batas. Pantau usage di dasbor, terutama bulan pertama.
Menguji Alchemy API dengan Apidog
Debug JSON-RPC manual cukup merepotkan. Semua request POST, array parameter bertingkat, respons hex, WebSocket susah dipantau di terminal.
Apidog menyediakan workspace terpadu untuk REST, GraphQL, dan WebSocket. Anda bisa:
- Akses endpoint HTTPS Alchemy.
- Buka koneksi WebSocket ke
wss://eth-mainnet.g.alchemy.com/v2/.... - Pantau aliran transaksi tertunda secara real-time.
Gunakan variable environment di Apidog untuk API key, lalu reuse di berbagai koleksi (mainnet, Sepolia, Polygon, Base). Tulis script validasi pada response field untuk regression test ketika Alchemy meluncurkan endpoint baru. Unduh Apidog dan import spesifikasi OpenAPI Alchemy—koleksi siap <1 menit.
<!--kg-card-begin: html-->
<!--kg-card-end: html-->
FAQ
Apakah Alchemy gratis untuk produksi?
Ya, hingga 300M CU/bulan. Banyak dApp kecil tetap pada tier Gratis. Jika butuh throughput lebih, Growth ($49) adalah upgrade logis.
Apakah Alchemy mendukung Solana?
Ya. Alchemy mendukung mainnet & devnet Solana, termasuk metode RPC standar & endpoint data NFT/token yang ditingkatkan. Buat aplikasi Solana di dasbor untuk endpoint khusus.
Bisakah pakai Alchemy API tanpa SDK?
Bisa. Semua endpoint dapat diakses via HTTPS (curl, fetch, HTTP client apa saja). SDK hanya pembungkus (typed helper, auto-retry, reconnect WebSocket)—opsional.
Bedanya Alchemy dengan MetaMask API?
MetaMask fokus ke UX dompet & signing, Alchemy fokus ke node/data. Solusi berbeda. Lihat panduan MetaMask API untuk sisi wallet.
Bagaimana rotasi API key Alchemy?
Buat aplikasi baru di dasbor, update env, deploy, lalu hapus app lama. Tidak ada rotasi in-place; rencanakan overlap window.
Apakah Account Kit bisa di semua EVM chain?
Account Kit mendukung Ethereum, Optimism, Arbitrum, Base, Polygon, dan testnet-nya. Kebijakan sponsor Gas Manager chain-specific, atur sesuai jaringan.
Top comments (0)