← Protocols
Alchemy
RPC / Node·EVM · Solana · Multi-chain

Alchemy

01Description

Hosted RPC plus enhanced APIs (NFT, Token, Transfers, Webhooks, Account Abstraction) across EVM chains and Solana. One SDK, many networks.

02Best for
  • 01EVM RPC at scale
  • 02NFT and token data
  • 03transfer history
  • 04webhooks / notify
  • 05account abstraction (smart wallets)
03Install
  • pnpm add alchemy-sdk
04Environment variables
VariableScopeDescription
ALCHEMY_API_KEYServerAlchemy API key for the target network. Server-side only.
NEXT_PUBLIC_ALCHEMY_API_KEYClientOptional client-safe key — only expose a key locked by allowed-origin/HTTP referrer in the Alchemy dashboard.
05Prompt snippet
Use the `alchemy-sdk` package. Initialize once per network: `const alchemy = new Alchemy({ apiKey: process.env.ALCHEMY_API_KEY, network: Network.ETH_MAINNET })`. Use `alchemy.core.getTokenBalances(address)` for ERC-20 balances, `alchemy.nft.getNftsForOwner(address)` for NFTs, and `alchemy.core.getAssetTransfers({ fromAddress, category: [AssetTransfersCategory.ERC20] })` for history. For webhooks, prefer the Notify REST API. Pin the `Network` enum per chain rather than building URLs by hand.
06Gotchas
  • The `alchemyplatform/alchemy-sdk-js` repo was archived in early 2026 (last push Feb 2026) — the `alchemy-sdk` npm package (currently 3.x) is published from that archived repo and is no longer actively maintained; for new account-abstraction work prefer `alchemyplatform/aa-sdk` (Smart Wallets), and check Alchemy's docs for the current recommended client before pinning.
  • `getAssetTransfers` is EVM-only and has a hard 1000-result page cap — paginate with `pageKey` or it silently truncates.
  • Free tier is metered in Compute Units (CUs), not raw requests; NFT and trace methods burn far more CUs than `eth_call` and will exhaust quotas faster than expected.
  • Solana support is a separate product surface — many EVM-style enhanced methods (Transfers API, Token API) do not exist for Solana; use the Solana-specific endpoints.
  • Never ship the raw API key in a client bundle without configuring an allowlist in the dashboard — leaked keys get rate-limit-drained within hours.
07Alternatives