Skip to content
OpenSmartRoute
Skillv1.0.0

alchemy-deploy-integration

Deploy Alchemy-powered Web3 applications to Vercel, Cloud Run, and AWS. Use when deploying dApps with server-side Alchemy SDK access, configuring API key secrets, or setting up RPC proxy endpoints. Tr

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (plugins/saas-packs/alchemy-pack/skills/alchemy-deploy-integration/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill alchemy-deploy-integration. Copyright stays with the author (MIT).

Alchemy Deploy Integration

Overview

Deploy Alchemy-powered dApps with proper API key security. The API key must stay server-side — never ship it to the browser.

Prerequisites

  • A server-side deployment target with a managed secret store and a scoped Alchemy key that is distinct from local development credentials.
  • Input validation, rate limiting, and logging rules for any public RPC proxy endpoint so arbitrary callers cannot turn it into an account-exhaustion path.
  • A tested rollback target and authenticated operational health check that does not reveal credentials, internal configuration, or user activity.

Instructions

Step 1: Vercel Deployment

# Add Alchemy API key as Vercel secret
vercel secrets add alchemy_api_key "your-api-key"
vercel link
vercel --prod
// vercel.json
{
  "env": { "ALCHEMY_API_KEY": "@alchemy_api_key" },
  "functions": { "api/**/*.ts": { "maxDuration": 30 } }
}
// api/balance/[address].ts — Vercel serverless function
import { Alchemy, Network } from 'alchemy-sdk';

const alchemy = new Alchemy({
  apiKey: process.env.ALCHEMY_API_KEY,
  network: Network.ETH_MAINNET,
});

export default async function handler(req: any, res: any) {
  const { address } = req.query;
  if (!/^0x[a-fA-F0-9]{40}$/.test(address)) {
    return res.status(400).json({ error: 'Invalid address' });
  }
  const balance = await alchemy.core.getBalance(address);
  res.json({ balance: balance.toString() });
}

Step 2: Cloud Run Deployment

# Build and deploy
gcloud builds submit --tag gcr.io/${PROJECT_ID}/alchemy-dapp
gcloud run deploy alchemy-dapp \
  --image gcr.io/${PROJECT_ID}/alchemy-dapp \
  --region us-central1 \
  --set-secrets=ALCHEMY_API_KEY=alchemy-api-key:latest \
  --allow-unauthenticated

Step 3: Health Check

// api/health.ts
import { Alchemy, Network } from 'alchemy-sdk';

export default async function handler(_req: any, res: any) {
  try {
    const alchemy = new Alchemy({ apiKey: process.env.ALCHEMY_API_KEY, network: Network.ETH_MAINNET });
    const block = await alchemy.core.getBlockNumber();
    res.json({ status: 'healthy', latestBlock: block });
  } catch {
    res.status(503).json({ status: 'unhealthy' });
  }
}

Output

  • Vercel deployment with API key in server-side functions
  • Cloud Run with GCP Secret Manager
  • Health check endpoint verifying Alchemy connectivity

Examples

Deploy a staging serverless balance endpoint with the API key injected only by the platform secret binding, then call it with a public test address. Confirm that invalid addresses return 400, valid requests return only the intended balance field, and neither response nor build artifact contains key material. Record the deployment revision and authenticated health result as the release receipt. If the secret binding, server-side boundary, or health check fails, roll traffic back to the prior revision and correct the deployment settings; never work around the failure by embedding a key in client code or source.

Error Handling

Failure Response
Secret is unavailable at runtime Fail closed, verify the managed binding, and do not substitute a plaintext fallback.
Public endpoint receives malformed input Return a bounded client error before invoking the provider.
Provider health check fails Mark the service degraded, alert the operator, and preserve the previous healthy revision.
API key appears in output or artifact Revoke it, remove the exposure, audit logs/builds, and redeploy with a replacement.

Resources

Next Steps

For webhook handling, see alchemy-webhooks-events.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-alchemy-deplo-b651f0/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-alchemy-deplo-b651f0.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-alchemy-deplo-b651f0",
  "kind": "skill",
  "name": "alchemy-deploy-integration",
  "description": "Deploy Alchemy-powered Web3 applications to Vercel, Cloud Run, and AWS. Use when deploying dApps with server-side Alchemy SDK access, configuring API key secrets, or setting up RPC proxy endpoints. Trigger: \"deploy alchemy\", \"alchemy Vercel\", \"alchemy Cloud Run\", \"alchemy production deploy\", \"dApp deploy\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "saas",
      "blockchain",
      "web3",
      "alchemy",
      "deployment",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Deploy Alchemy-powered Web3 applications to Vercel, Cloud Run, and AWS. Use when deploying dApps with server-side Alchemy SDK access, configuring API key secrets, or setting up RPC proxy endpoints. Trigger: \"deploy alchemy\", \"alchemy Vercel\", \"alchemy Cloud Run\", \"alchemy production deploy\", \"dApp deploy\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "plugins/saas-packs/alchemy-pack/skills/alchemy-deploy-integration/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/plugins/saas-packs/alchemy-pack/skills/alchemy-deploy-integration/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/plugins/saas-packs/alchemy-pack/skills/alchemy-deploy-integration/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Write,",
      "Edit,",
      "Bash(vercel:*),",
      "Bash(gcloud:*),",
      "Bash(docker:*)"
    ],
    "license": "MIT"
  },
  "instructions": "# Alchemy Deploy Integration\n\n## Overview\n\nDeploy Alchemy-powered dApps with proper API key security. The API key must stay server-side — never ship it to the browser.\n\n## Prerequisites\n\n- A server-side deployment target with a managed secret store and a scoped\n  Alchemy key that is distinct from local development credentials.\n- Input validation, rate limiting, and logging rules for any public RPC proxy\n  endpoint so arbitrary callers cannot turn it into an account-exhaustion path.\n- A tested rollback target and authenticated operational health check that does\n  not reveal credentials, interna",
  "cost": {
    "context_tokens": 976
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-alchemy-deplo-b651f0/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.