SKILL.md
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;
