Güvenilir bir düğüm sağlayıcısı olmadan bir üretim Ethereum dApp'i çalıştırmak, çağrıya yanıt verme görevine giden kısa bir yoldur. Kendi kendine barındırılan Geth düğümleri gecikir, yeniden düzenlemeleri kaçırır ve uygulamanız ilgi görmeye başladığı anda tıkanır. Alchemy API, güçlendirilmiş bir düğüm katmanı ve ham JSON-RPC spesifikasyonunun hiç tanımlamadığı, genesis'ten bu yana her bloğu taramak yerine tek bir çağrı ile bir cüzdandaki her NFT'yi alma gibi gelişmiş API'ler sunarak bu sorunu çözer.
Bu kılavuz, tüm Alchemy API yüzeyini ele almaktadır: bir uygulama oluşturma, doğrulama, standart JSON-RPC yöntemlerini çağırma, gelişmiş uç noktaları kullanma, WebSocket üzerinden bekleyen işlemlere abone olma ve Account Kit aracılığıyla gaz sponsorluğu ile akıllı hesapları gönderme. Her ana akış için curl ve Node örneklerini görecek, ayrıca göndermeden önce hesaplama birimlerinin (CU) aylık faturanıza nasıl yansıdığını anlayacaksınız.
Cüzdan ve web3 altyapısını daha geniş bir perspektiften değerlendiriyorsanız, Apidog her uç noktayı tek bir yerden test etmenize yardımcı olur. Ayrıca bir sağlayıcıya taahhütte bulunmadan önce daha geniş bir pazar görünümü için en iyi kripto cüzdanı API'si hakkındaki kılavuzumuza da bakın.
Kısaca
- Alchemy; Ethereum, Polygon, Arbitrum, Optimism, Base, Solana, zkSync, Starknet ve daha fazlasını tek bir gösterge panosundan kapsar.
- Her uygulama, standart JSON-RPC için HTTPS ve WebSocket uç noktaları ile birlikte
alchemy_getAssetTransfers,alchemy_getTokenBalancesvegetNFTsgibi gelişmiş API'ler alır. - JavaScript için Alchemy SDK (
alchemy-sdk), ethers.js'yi sarmalar ve her gelişmiş uç nokta için tip tanımlı yardımcılar ekler. - Account Kit, gaz sponsorluğu, oturum anahtarları ve Gas Manager aracılığıyla parola anahtarı doğrulaması ile ERC-4337 akıllı hesapları gönderir.
- Kullanım, hesaplama birimleri (CU) cinsinden ölçülür; ücretsiz katman ayda 300 milyon CU verir, Growth 400 milyon CU artı aşım, Scale ise özeldir.
- Hız sınırları uygulama ve yöntem başınadır; toplu istekler ve SDK'nın yerleşik geri çekilmesi sizi kısma limitlerinin altında tutar.
Alchemy API nedir?
Alchemy, yönetilen blockchain düğümlerini işleten ve üzerine bir veri indeksleme motoru katmanlayan bir web3 geliştirici platformudur. Kendi başınıza kolayca kuramayacağınız üç şey elde edersiniz: 40'tan fazla zincirde yüksek kullanılabilirlikli JSON-RPC düğümleri, transferleri ve NFT meta verilerini önceden indeksleyen gelişmiş API'ler ve gazsız UX için bir hesap soyutlama yığını (Account Kit).
Infura size çoğunlukla ham düğüm erişimi sağlarken, Alchemy indeksleme katmanını ekler. Bir adres için her ERC-20 transferini getirmek tek bir alchemy_getAssetTransfers çağrısı gerektirir; aynı sorgu düz bir düğümde her bloğu yinelemek anlamına gelir. Bu nedenle çoğu üretim cüzdanı, DeFi gösterge panosu ve NFT pazaryeri, yoğun okuma yolları için Alchemy'yi kullanır.
Kimlik Doğrulama ve Kurulum
Alchemy gösterge panosunda bir hesap oluşturun, ardından Yeni uygulama oluştur'a tıklayın. Bir zincir (Ethereum Mainnet, Polygon, Base vb.) ve bir ağ (mainnet veya Sepolia gibi bir test ağı) seçin. Her uygulama, URL'nizin son yol kesimini oluşturan benzersiz bir API anahtarı alır.
HTTPS uç noktanız şöyle görünür:
https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY
WebSocket uç noktanız:
wss://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY
API anahtarını bir sır gibi saklayın. Bir ortam değişkenine koyun, asla istemci tarafı koduna koymayın. Tarayıcı dApp'leri için, Alchemy gösterge panosunda izin listeleri (referer kısıtlamaları) kullanın, böylece sızdırılmış bir anahtar, bir saldırganın etki alanından kotanızı boşaltamaz.
SDK'yı yükleyin:
npm install alchemy-sdk
Ardından bir istemciyi başlatın:
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("Latest block:", block);
Çekirdek Uç Noktalar
HTTPS Üzerinden Standart JSON-RPC
Herhangi bir standart Ethereum JSON-RPC yöntemi çalışır. İşte curl ile eth_getBalance:
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
}'
Yanıt, bakiyeyi wei cinsinden onaltılık bir dize olarak döndürür. Aynı model eth_call, eth_sendRawTransaction, eth_getLogs ve diğer tüm standart yöntemler için de geçerlidir.
Gelişmiş API: getAssetTransfers
alchemy_getAssetTransfers, bir adres için belirli bir blok aralığındaki tüm ETH, ERC-20, ERC-721, ERC-1155, dahili ve harici transferleri döndürür. Tek bir çağrı binlerce eth_getLogs sorgusunun yerini alır.
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} from ${t.from} to ${t.to}`);
}
Gelişmiş API: getTokenBalances ve getNFTs
Bir cüzdanın sahip olduğu tüm tokenları, sözleşme adreslerini önceden bilmeden almak tek bir çağrı ile mümkündür:
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}`);
}
NFT'ler için NFT ad alanını kullanın:
const nfts = await alchemy.nft.getNftsForOwner(
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
);
console.log(`Owns ${nfts.totalCount} NFTs`);
WebSocket Üzerinden Abonelik API'si
Abonelik API'si, sizin yoklama yapmanız yerine güncellemeleri iter. Bekleyen işlemlere veya adres etkinliğine abone olun:
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("Pending USDC tx:", tx.hash)
);
Mempool botları, MEV izleyicileri ve gerçek zamanlı portföy arayüzleri, eth_blockNumber yoklamalarında CU harcamadan bu şekilde güncel kalırlar.
Account Kit ve Gas Manager
Account Kit, Alchemy'nin akıllı hesap yığınıdır. Bir React SDK'sı, akıllı sözleşme hesap uygulaması (Light Account ve Modular Account) ve kullanıcı işlemlerine sponsorluk için Gas Manager içerir. Kullanıcılar bir parola anahtarı veya e-posta ile kaydolur, akıllı bir cüzdan edinir ve asla bir seed phrase veya gaz tokenı ile uğraşmaz.
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 },
});
Tüketici dApp'leri için Account Kit'i güzel bir şekilde tamamlayan, akıllı hesapları yerleşik cüzdanlarla eşleştiren başlangıç akışları için Privy API hakkındaki kılavuzumuza bakın.
Yaygın Hatalar ve Hız Limitleri
Alchemy, kullanımı hesaplama birimleri (CU) cinsinden ölçer. Her yöntemin bir CU maliyeti vardır: eth_call 26 CU, eth_getLogs 75, alchemy_getAssetTransfers 150 ve eth_getBlockByNumber 16'dır. Ücretsiz katman size ayda 300 milyon CU ve saniye başına bir işlem hacmi sınırı verir.
En sık göreceğiniz hatalar:
- 429 Too Many Requests (Çok Fazla İstek): saniye başına CU limitini aştınız. Geri çekilin ve tekrar deneyin; SDK bunu otomatik olarak halleder.
- 403 Forbidden (Yasak): API anahtarınızın izin listesi referer ile eşleşmiyor veya anahtar devre dışı bırakılmış.
- -32600 Invalid Request (Geçersiz İstek): JSON-RPC gövdesi hatalı biçimlendirilmiş. Yöntem adını ve parametre dizisini kontrol edin.
- -32000 execution reverted (yürütme geri alındı): sözleşme çağrısı geri döndürüldü. Geri dönüş nedenini
eth_callve bir simülasyon aracıyla çözün.
Toplu istekler en iyi arkadaşınızdır. Tek bir HTTP POST'ta 1000'e kadar JSON-RPC çağrısı gönderin; bu, ağ yükünü amorti eder ve genellikle daha az toplam CU maliyeti sağlar. Daha geniş test iş akışları için, 2026'da Postman olmadan API testi, toplu JSON-RPC çağrılarının bir koleksiyonda nasıl yönetileceğini kapsar.
Alchemy Fiyatlandırması
Alchemy'nin dört genel katmanı vardır:
- Ücretsiz: Ayda 300 milyon CU, 1 uygulama, topluluk desteği. Prototipleme ve küçük kişisel projeler için iyidir.
- Growth: Temel 49$/ay, 400 milyon CU dahil, aşım CU başına faturalandırılır, gelişmiş analitik.
- Scale: 289$/ay, 1.5 milyar CU, özel aktarım hızı, öncelikli destek.
- Enterprise: özel fiyatlandırma, SLA'lar, özel düğümler, özel çözümler mühendisliği.
CU aylık olarak sıfırlanır. Growth veya Scale'de aşım yaparsanız, aşım ücreti ödersiniz; Ücretsiz'de ise, bir sonraki döngüye kadar istekler 429 hatasıyla başarısız olmaya başlar. İlk ayınızda doğru katmanı belirleyebilmek için gösterge panosundaki kullanımı günlük olarak izleyin.
Alchemy API'sini Apidog ile Test Etme
JSON-RPC'yi elle ayıklamak zahmetlidir. Her istek, iç içe geçmiş bir parametre dizisine sahip bir POST'tur, yanıtlar onaltılık olarak kodlanmıştır ve WebSocket aboneliklerini düz bir terminalde incelemek zordur. Apidog, REST, GraphQL ve WebSocket trafiği için birleşik bir çalışma alanı sunar, böylece Alchemy HTTPS uç noktalarına istek gönderebilir, wss://eth-mainnet.g.alchemy.com/v2/... adresine bir WebSocket açabilir ve bekleyen işlem abonelik akışlarını yan yana izleyebilirsiniz.
API anahtarınızı Apidog'da bir ortam değişkeni olarak kaydedin ve mainnet, Sepolia, Polygon ve Base için koleksiyonlar arasında yeniden kullanın. Alchemy yeni gelişmiş uç noktalar yayınladığında regresyonları yakalamak için yanıt alanlarında komut dosyası onaylamaları yapın. Apidog'u indirin ve bir dakikadan kısa sürede koleksiyonunuzu oluşturmak için Alchemy OpenAPI spesifikasyonunu içe aktarın.
Sıkça Sorulan Sorular
Alchemy üretimde ücretsiz mi?Evet, ayda 300 milyon CU içinde. Birçok küçük dApp süresiz olarak Ücretsiz katmanda kalır. Bu limiti aştığınızda veya daha yüksek işlem hacmine ihtiyaç duyduğunuzda, 49 dolarlık Growth bir sonraki olağan adımdır.
Alchemy Solana'yı destekliyor mu?Evet. Alchemy, Solana ana ağını ve geliştirici ağını standart Solana RPC yöntemleri ve token ve NFT verileri için gelişmiş uç noktalarla destekler. Özel bir uç nokta almak için gösterge panosunda bir Solana uygulaması oluşturun.
Alchemy API'yi SDK olmadan kullanabilir miyim?Kesinlikle. Her uç nokta curl, fetch veya herhangi bir HTTP istemcisi ile HTTPS üzerinden çağrılabilir. SDK, kolaylık sağlayan bir sarmalayıcıdır; tip tanımlı yardımcılar, otomatik yeniden denemeler ve WebSocket yeniden bağlantısı ekler, ancak isteğe bağlıdır.
Alchemy ve MetaMask'ın geliştirici API'leri arasındaki fark nedir?MetaMask cüzdan UX'ine ve imzalama işlemlerine odaklanırken; Alchemy düğüm altyapısı ve verilerine odaklanır. Farklı sorunları çözerler. Cüzdan tarafı için MetaMask API kılavuzumuza bakın.
Alchemy API anahtarımı nasıl döndürürüm (rotate)?Gösterge panosunda yeni bir uygulama oluşturun, ortamınızı güncelleyin, dağıtın, ardından eski uygulamayı silin. Yerinde döndürme yoktur, bu nedenle kısa bir örtüşme penceresi planlayın.
Account Kit herhangi bir EVM zincirinde çalışır mı?Account Kit Ethereum, Optimism, Arbitrum, Base, Polygon ve bunların test ağlarını destekler. Gas Manager sponsorluk politikaları zincire özeldir, bu nedenle bunları her ağ için ayrı ayrı ayarlayın.
