agentsclimarketplace

Alchemy prod checklist

Skill jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/alchemy-pack/skills/alchemy-prod-checklist

'Execute production readiness checklist for Alchemy-powered dApps.From its SKILL.md

Install
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill alchemy-prod-checklist

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.3 KB, 972 tokens by cl100k_base, as published. Nobody here has run it

Alchemy Production Checklist

Pre-Launch Checklist

API & Infrastructure

  • API key restricted to production domains in Alchemy Dashboard
  • Separate Alchemy apps for dev/staging/prod environments
  • Rate limit headroom verified (< 70% of CU/sec budget)
  • Retry logic with exponential backoff implemented
  • Error monitoring configured (Sentry, Datadog, etc.)
  • Webhook endpoints HTTPS-only with signature verification

Security

  • API key NOT in frontend code — proxied through backend
  • Private keys in secret manager (not env files)
  • All user-supplied addresses validated and checksummed
  • No console.log of sensitive data in production builds
  • npm audit clean — no critical vulnerabilities

Smart Contracts (if applicable)

  • Contracts audited by reputable firm
  • Deployed and verified on Etherscan/Polygonscan
  • Admin keys secured in multi-sig wallet
  • Emergency pause function tested

Performance

  • Response caching for frequently-queried data (balances, metadata)
  • Connection pooling for provider instances
  • Batch requests where possible (NFT metadata, balances)
  • WebSocket reconnection logic for real-time subscriptions

Validation Script

// src/prod/readiness.ts
import { Alchemy, Network } from 'alchemy-sdk';

async function checkReadiness(): Promise<void> {
  const checks: Array<{ name: string; pass: boolean; detail: string }> = [];

  // 1. API connectivity
  const alchemy = new Alchemy({ apiKey: process.env.ALCHEMY_API_KEY, network: Network.ETH_MAINNET });
  try {
    const block = await alchemy.core.getBlockNumber();
    checks.push({ name: 'API Connectivity', pass: true, detail: `Block ${block}` });
  } catch (err: any) {
    checks.push({ name: 'API Connectivity', pass: false, detail: err.message });
  }

  // 2. Enhanced API
  try {
    await alchemy.core.getTokenBalances('0x0000000000000000000000000000000000000000');
    checks.push({ name: 'Enhanced API', pass: true, detail: 'getTokenBalances works' });
  } catch { checks.push({ name: 'Enhanced API', pass: false, detail: 'Enhanced API unavailable' }); }

  // 3. NFT API
  try {
    await alchemy.nft.getContractMetadata('0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D');
    checks.push({ name: 'NFT API', pass: true, detail: 'getContractMetadata works' });
  } catch { checks.push({ name: 'NFT API', pass: false, detail: 'NFT API unavailable' }); }

  // 4. API key not in build output
  const fs = await import('fs');
  const buildDir = './dist';
  if (fs.existsSync(buildDir)) {
    const content = fs.readdirSync(buildDir, { recursive: true })
      .filter((f: any) => f.toString().endsWith('.js'))
      .map((f: any) => fs.readFileSync(`${buildDir}/${f}`, 'utf8'))
      .join('');
    const apiKeyExposed = content.includes(process.env.ALCHEMY_API_KEY || '');
    checks.push({ name: 'API Key Safety', pass: !apiKeyExposed, detail: apiKeyExposed ? 'CRITICAL: API key found in build!' : 'API key not in build' });
  }

  // Print results
  console.log('\n=== Alchemy Production Readiness ===\n');
  for (const c of checks) {
    console.log(`[${c.pass ? 'PASS' : 'FAIL'}] ${c.name}: ${c.detail}`);
  }
  const failures = checks.filter(c => !c.pass);
  console.log(`\n${failures.length === 0 ? 'READY FOR PRODUCTION' : `${failures.length} BLOCKING ISSUES`}`);
}

checkReadiness().catch(console.error);

Output

  • All checklist items validated
  • Readiness script with pass/fail reporting
  • API key exposure scan in build output
  • Multi-network connectivity verified

Resources

Next Steps

For version upgrades, see alchemy-upgrade-migration.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.