Quick start
Paste this into your AI agent:Tools used
The runbook calls the Chainstack MCP server — a single remote server that covers docs search, deployment options, node and project management, platform status, faucets, and pricing. Two URLs, two different purposes:- mcp.chainstack.com — the agent onboarding page. Point any AI agent at this URL and it reads setup instructions, tool reference, and install options.
https://mcp.chainstack.com/mcp— the actual JSON-RPC 2.0 endpoint the agent calls once it’s set up.
You don’t have to register the MCP server with your LLM client. The server accepts JSON-RPC 2.0 over plain HTTP, so the agent can call it directly — on demand, no persistent connection, no forced tool list in the context window. If you prefer a lighter install, the server ships a skill file at mcp.chainstack.com/skill that drops into
~/.claude/skills/chainstack/ (or the equivalent for your agent) and triggers HTTP calls only when relevant. Formal MCP registration works too — pick whichever fits your workflow.search_docs, get_doc_page, get_chainstack_pricing, contact_chainstack). The get_deployment_options, Dry run, and Implement steps require a Chainstack API key.
Agent instructions
Migrate this project’s blockchain RPC endpoints to Chainstack.Assess
Coverage check
- Scan the codebase for all blockchain RPC endpoint URLs that are not Chainstack. Check source code, environment variables, config files, and hardcoded URLs.
- For each endpoint found, identify:
- The blockchain protocol and network (mainnet/testnet).
- The RPC methods used (standard, debug/trace, archive queries like historical block lookups).
- Whether WebSocket, gRPC, or Solana Geyser is needed.
- Check what Chainstack supports. Do not use web search for Chainstack docs — call the MCP server directly:
search_docs— search for each protocol found in the codebase to check supported networks, node types, available API methods, and features like debug/trace or archive.get_doc_page— get the full doc page for details on a specific chain.get_deployment_options(API key required) — all supported chains, networks, node tiers, and features (full, archive, debug_trace).
- Report what’s fully covered, what needs a specific node tier, what’s unsupported, and any endpoints that are already dead or deprecated.
get_chainstack_pricing. For unsupported chains that may be available as dedicated deployments, sales inquiries, or anything else that needs a Chainstack human, call contact_chainstack — it works for any user, including those who don’t use Telegram.
Flag the following if the codebase needs them — they require manual setup in the Chainstack console and are not available through the API:
- Dedicated Node deployment — call
contact_chainstackto reach the team. @ChainstackGrowthBot on Telegram is an alternative for users who prefer it. - Solana Yellowstone gRPC Geyser plugin — node Add-ons tab.
- Unlimited Node add-on for high throughput — node Add-ons tab.
- MEV protection — node details page.
- Warp transactions — node details page.
- IP allowlisting and access rules — node Security tab.
Cost and savings estimate
If the user is migrating from another RPC provider — QuickNode, Alchemy, or any other — estimate their Chainstack cost and the savings versus their current bill.- Get the user’s current usage from the source provider — pick the lowest-friction path:
- QuickNode — the Admin API exposes usage directly. Ask the user for a QuickNode API key (created at dashboard.quicknode.com/api-keys) and fetch their billing-period usage:
This returns API Credits used and remaining for the period. Per-method and per-chain breakdowns are at
/v0/usage/rpc/by-methodand/v0/usage/rpc/by-chain—by-methodalso flags each method asarchive: true/false, which maps to Chainstack’s 2 RU per archive request (vs 1 RU standard), so you can convert precisely instead of by an average. If the user would rather not create a key, a screenshot of the Usage & Billing page works too — read the figures straight from the image. - Alchemy — Alchemy has no usage API, so the easiest path is a screenshot: ask the user to share a screenshot of their dashboard Usage page (Settings → Usage) and Billing page (Settings → Billing), and read the Compute Units used, current plan, and spend straight from the image. If they’d rather type the numbers, that works too.
- Other provider / no programmatic access — ask for a screenshot of their usage/billing dashboard, or their approximate monthly request volume and current spend.
- QuickNode — the Admin API exposes usage directly. Ask the user for a QuickNode API key (created at dashboard.quicknode.com/api-keys) and fetch their billing-period usage:
- Call
get_chainstack_pricingfor live Chainstack plans and the Request Unit (RU) model. The snapshot already includes the per-provider conversion multipliers (QuickNode API Credits → RU, Alchemy Compute Units → RU) and a worked migration example — use those live values rather than restating numbers here. Convert the source usage to RU, fit it to the cheapest plan that covers it, and present the monthly cost beside their current bill. - Route on the estimate: high volume, dedicated-node needs, or Enterprise →
contact_chainstack(or @ChainstackGrowthBot); self-serve plans → console.chainstack.com.
Dry run
If the user already has Chainstack nodes deployed (API key required):- Use
list_nodesto get all deployed Chainstack endpoints. - For each RPC method found in the codebase, send a test request to the corresponding Chainstack endpoint to verify it works.
- Optionally, if the codebase has RPS patterns (batch calls, concurrent requests, polling intervals), test at that throughput. Use
search_docsto find additional information and recommended optimizations. - Report what works, what fails, and any rate limit or method support gaps.
Plan
- For each endpoint to migrate, lay out the specific replacement — which existing Chainstack node covers it, or whether a new node needs to be created. Flag anything that needs the user’s input (tier choice, project assignment, unsupported chains).
Implement
- Create any nodes needed via
create_node(use global nodes for instant deployment). - Replace each endpoint with the corresponding Chainstack URL from
list_nodes. - Summarize what changed.