Alchemy Install & Auth
Overview
Install the alchemy-sdk npm package and configure API authentication. Alchemy provides blockchain infrastructure (RPC nodes, Enhanced APIs, NFT APIs, webhooks) across Ethereum, Polygon, Arbitrum, Optimism, Base, and Solana.
Prerequisites
- Node.js 18+ (or Python 3.10+ for alchemy-sdk Python)
- Free Alchemy account at alchemy.com
- API key from Alchemy Dashboard
Instructions
Step 1: Install the Alchemy SDK
# JavaScript/TypeScript (official SDK)
npm install alchemy-sdk
# Python (community SDK)
pip install alchemy-sdk
Step 2: Create an Alchemy App
- Go to dashboard.alchemy.com
- Click "Create new app"
- Select chain: Ethereum, Polygon, Arbitrum, Optimism, Base, or Solana
- Select network: Mainnet, Sepolia (testnet), or Mumbai
- Copy the API key
Step 3: Configure Environment
# Set environment variable
export ALCHEMY_API_KEY="your-api-key-here"
# Or create .env file
cat > .env << 'EOF'
ALCHEMY_API_KEY=your-api-key-here
ALCHEMY_NETWORK=ETH_MAINNET
EOF
echo ".env" >> .gitignore
Step 4: Initialize and Verify
// src/alchemy-client.ts
import { Alchemy, Network } from 'alchemy-sdk';
const alchemy = new Alchemy({
apiKey: process.env.ALCHEMY_API_KEY,
network: Network.ETH_MAINNET,
});
// Verify connection
async function verifyConnection() {
const blockNumber = await alchemy.core.getBlockNumber();
console.log(`Connected! Latest block: ${blockNumber}`);
return blockNumber;
}
verifyConnection().catch(console.error);
Step 5: Multi-Chain Configuration
// src/config/chains.ts
import { Alchemy, Network } from 'alchemy-sdk';
// Create clients for multiple chains
const chains = {
ethereum: new Alchemy({ apiKey: process.env.ALCHEMY_API_KEY, network: Network.ETH_MAINNET }),
polygon: new Alchemy({ apiKey: process.env.ALCHEMY_API_KEY, network: Network.MATIC_MAINNET }),
arbitrum: new Alchemy({ apiKey: process.env.ALCHEMY_API_KEY, network: Network.ARB_MAINNET }),
optimism: new Alchemy({ apiKey: process.env.ALCHEMY_API_KEY, network: Network.OPT_MAINNET }),
base: new Alchemy({ apiKey: process.env.ALCHEMY_API_KEY, network: Network.BASE_MAINNET }),
};
export default chains;
Supported Networks
| Chain | Network Enum | Mainnet | Testnet |
|-------|-------------|---------|---------|
| Ethereum | ETH_MAINNET | Yes | Sepolia |
| Polygon | MATIC_MAINNET | Yes | Amoy |
| Arbitrum | ARB_MAINNET | Yes | Sepolia |
| Optimism | OPT_MAINNET | Yes | Sepolia |
| Base | BASE_MAINNET | Yes | Sepolia |
| Solana | SOL_MAINNET | Yes | Devnet |
Output
alchemy-sdkinstalled in node_modules- API key configured in environment
- Verified connection with latest block number
- Multi-chain client configuration ready
Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| Must provide apiKey | Missing env var | Set ALCHEMY_API_KEY in environment |
| 401 Unauthorized | Invalid API key | Verify key in Alchemy Dashboard |
| 429 Rate Limit | Free tier exceeded | Upgrade plan or reduce request rate |
| ECONNREFUSED | Network blocked | Ensure HTTPS to *.g.alchemy.com allowed |
Resources
Next Steps
Proceed to alchemy-hello-world for your first blockchain query.