---
name: Chainstack
description: Use when deploying blockchain RPC nodes, managing blockchain infrastructure, configuring access to 70+ blockchain networks, setting up endpoints for Web3 applications, or managing node credentials and billing. Reach for this skill when agents need to create projects, deploy nodes, configure security rules, or integrate blockchain endpoints into applications.
metadata:
    mintlify-proj: chainstack
    version: "1.0"
---

# Chainstack Skill

## Product summary

Chainstack is a managed blockchain infrastructure platform providing RPC node access to 70+ blockchain networks (Ethereum, Solana, Bitcoin, Polygon, and others). Deploy a node from the console, get an endpoint URL with credentials, and call it from your application—or run the same infrastructure on your own Kubernetes cluster via Chainstack Self-Hosted.

**Key files and paths:**
- Console: https://console.chainstack.com/
- Supported networks: 70+ protocols including Ethereum, Solana, Bitcoin, Polygon, Arbitrum, Optimism, Base, Avalanche, and more
- Node types: Global Node (load-balanced, instant), Dedicated Node (exclusive, monthly billing), Trader Node (regional, latency-optimized), Unlimited Node (flat-fee add-on)
- Endpoint formats: HTTPS (`https://nd-xxx.p2pify.com/key`) or WSS (`wss://ws-nd-xxx.p2pify.com/key`), or gRPC for select protocols
- Authentication: API key in URL path, basic auth (username:password), or gRPC x-token header
- Primary docs: https://docs.chainstack.com/

## When to use

Deploy this skill when:
- An agent needs to create a Chainstack project and deploy a blockchain node
- Configuring RPC endpoints for Web3 applications (web3.js, ethers.js, web3.py, etc.)
- Setting up access rules (IP allowlist, domain allowlist) for endpoint security
- Checking node credentials, endpoints, and connection details
- Managing billing, request units (RUs), and plan upgrades
- Troubleshooting connection errors, rate limits, or node sync issues
- Integrating blockchain data into applications (event monitoring, transaction queries, balance checks)
- Choosing between node types (Global vs. Dedicated vs. Trader vs. Unlimited)
- Migrating from another provider (Grove, Helius, Syndica, Google Cloud)

## Quick reference

### Node types and billing

| Node Type | Distribution | Billing | Deployment | Best for |
|-----------|--------------|---------|------------|----------|
| **Global Node** | Geo-distributed | Per request (RUs) | Instant (seconds) | Default choice, variable load, global reach |
| **Dedicated Node** | Geo-specific | Compute hours + storage | 3-6 minutes | Custom configs, isolation, sustained heavy load |
| **Trader Node** | Geo-specific | Per request (RUs) | 3-6 minutes | Latency-critical, Warp transactions, trading bots |
| **Unlimited Node** | Geo-distributed | Flat monthly fee | Add-on to any node | Predictable costs, steady high throughput |

### Endpoint access formats

```
# HTTPS key-protected
https://nd-123-456-789.p2pify.com/3c6e0b8a9c15224a8228b9a98ca1531d

# HTTPS password-protected
https://username:password@nd-123-456-789.p2pify.com

# WebSocket key-protected
wss://ws-nd-123-456-789.p2pify.com/3c6e0b8a9c15224a8228b9a98ca1531d

# gRPC (Solana, Sui, etc.)
sui-mainnet.core.chainstack.com:443
# Header: x-token: <token>
```

### Request units (RUs) pricing

- **Full node request**: 1 RU
- **Archive node request**: 2 RUs
- Solana archive methods (old slots): 2 RUs
- Warp transactions: billed separately (bloXroute partnership)

### Common RPC methods by protocol

| Protocol | Key Methods | Archive Support |
|----------|------------|-----------------|
| **Ethereum** | eth_call, eth_getBalance, eth_getLogs, eth_getBlock, debug_trace* | Yes (2 RU) |
| **Solana** | getBalance, getTransaction, getBlock, getSignaturesForAddress | Yes (2 RU for old slots) |
| **Bitcoin** | getblock, getrawtransaction, getblockchaininfo | Full node only |
| **Polygon** | eth_* (same as Ethereum) + bor_* (Polygon-specific) | Yes (2 RU) |
| **Arbitrum** | eth_* + arbtrace_* (tracing) | Yes (2 RU) |

### Rate limits by plan

| Plan | RPS Limit | Monthly RU Quota |
|------|-----------|-----------------|
| Developer | 30 | Included quota |
| Growth | 250 | Included quota |
| Pro | 400 | Included quota |
| Business | 600 | Included quota |
| Enterprise | Unlimited | Custom |

## Decision guidance

### When to use Global Node vs. Dedicated Node

| Scenario | Use Global Node | Use Dedicated Node |
|----------|-----------------|-------------------|
| Variable traffic, spikes | ✓ | |
| Sustained high throughput (heavy eth_subscribe, deep eth_getLogs) | | ✓ |
| Global users, latency-sensitive | ✓ | |
| Custom node configuration, isolation | | ✓ |
| Compliance, data residency requirements | | ✓ |
| Cost-predictable workload | | ✓ (or Unlimited add-on) |
| Instant deployment needed | ✓ | |
| Per-request billing acceptable | ✓ | |

### When to use Trader Node vs. Global Node

| Scenario | Use Trader Node | Use Global Node |
|----------|-----------------|-----------------|
| Warp transactions (fast propagation) | ✓ | |
| Trading bots, MEV-sensitive | ✓ | |
| Latency-critical regional workload | ✓ | |
| Global distribution needed | | ✓ |
| Instant deployment | | ✓ |

### When to add Unlimited Node add-on

| Scenario | Add Unlimited | Keep per-request |
|----------|---------------|-----------------|
| Sustained high RPS (100+ RPS) | ✓ | |
| Predictable monthly bill | ✓ | |
| Variable traffic, occasional spikes | | ✓ |
| Cost-sensitive, low throughput | | ✓ |

## Workflow

### 1. Deploy a node and get an endpoint

1. **Log in** to https://console.chainstack.com/
2. **Create a project** (if needed):
   - Click "Create project"
   - Provide project name and optional description
   - Click "Create"
3. **Deploy a node**:
   - Click "Get Started" (new project) or "Join Network" (existing project)
   - Select protocol (Ethereum, Solana, Bitcoin, etc.) and network (Mainnet, Testnet, etc.)
   - Select node type: Global Node (default), Dedicated, or Trader
   - For Dedicated: choose Full or Archive mode
   - Choose cloud provider and region
   - Give the node a name
   - Review monthly cost and click "Deploy"
4. **Wait for deployment**:
   - Global Node: ready in seconds
   - Dedicated/Trader Node: 3-6 minutes
   - Email notification when ready
5. **View credentials**:
   - Click your project → network → node name
   - Copy HTTPS endpoint (key-protected or password-protected)
   - Copy WSS endpoint (for WebSocket subscriptions)
   - Note the access token or username/password

### 2. Configure access rules (security)

1. **Navigate** to node details → "Security" tab
2. **Add IP allowlist** (for backend services):
   - Click "+ Add"
   - Select "IP address"
   - Enter IP (e.g., `203.0.113.50`)
   - Click "Create" → "Activate"
3. **Add domain allowlist** (for browser-side code):
   - Click "+ Add"
   - Select "Allowed origin"
   - Enter domain (e.g., `myapp.com` or `*.myapp.com`)
   - Click "Create" → "Activate"
4. **Verify rules are active** before deploying to production

### 3. Connect from a Web3 application

**JavaScript (ethers.js):**
```javascript
const { ethers } = require('ethers');
const provider = new ethers.JsonRpcProvider('https://nd-xxx.p2pify.com/key');
const balance = await provider.getBalance('0x...');
```

**JavaScript (web3.js):**
```javascript
const Web3 = require('web3');
const web3 = new Web3('https://nd-xxx.p2pify.com/key');
const balance = await web3.eth.getBalance('0x...');
```

**Python (web3.py):**
```python
from web3 import Web3
w3 = Web3(Web3.HTTPProvider('https://nd-xxx.p2pify.com/key'))
balance = w3.eth.get_balance('0x...')
```

**Solana (web3.js):**
```javascript
const { Connection } = require('@solana/web3.js');
const connection = new Connection('https://nd-xxx.p2pify.com/key');
const balance = await connection.getBalance(publicKey);
```

### 4. Monitor usage and billing

1. **View request metrics**:
   - Node details → "Metrics" tab
   - See requests over time, method calls, response codes
   - Download aggregate data
2. **Check billing**:
   - Console → "Billing"
   - View current plan, RU quota, and usage
   - Enable "Extra usage" to auto-charge overages
3. **Upgrade plan** (if needed):
   - Click "Change" next to Plan
   - Select new tier (Growth, Pro, Business, Enterprise)
   - Confirm

### 5. Troubleshoot connection issues

1. **401 Unauthorized**:
   - Verify endpoint URL and access token/password
   - Check credentials in node details
   - Regenerate token if needed
2. **429 Too Many Requests**:
   - Hit RPS limit → reduce request rate or upgrade plan
   - Hit monthly RU quota → enable extra usage or upgrade
3. **504 Gateway Timeout**:
   - Heavy methods (traces, wide-range eth_getLogs) → paginate or use Dedicated Node
   - Increase client-side timeout
4. **502 Bad Gateway**:
   - Node unreachable → retry with backoff
   - If persistent, contact support
5. **Check node sync**:
   - Node details → "Sync progress"
   - Ensure node is fully synced before querying

## Common gotchas

- **Endpoint URL format**: Include the access token in the URL path (key-protected) or use basic auth (password-protected). Missing or invalid token returns 401.
- **Archive queries on Full nodes**: Full nodes return 1 RU; archive queries on Full nodes fail. Use Archive mode for historical data.
- **Request body size limit**: Default 1 MB. Batch fewer JSON-RPC calls or paginate eth_getLogs ranges.
- **WebSocket vs. HTTP**: WSS endpoints use the same host as HTTPS (no `ws-` subdomain in the hostname, only the scheme changes).
- **gRPC authentication**: gRPC endpoints use `x-token` in request metadata, not URL-based auth.
- **Access rules scope**: IP allowlist and domain allowlist only work on Global Nodes, not Dedicated or Trader Nodes.
- **Warp transactions**: Only available on Trader Nodes and paid plans; billed separately from regular requests.
- **Node deletion**: Must delete all nodes before deleting a network or project.
- **Billing thresholds**: Automatic charges trigger when accumulated usage hits a threshold mid-cycle (not just at cycle end).
- **Solana archive billing**: Solana archive methods on old slots cost 2 RUs; recent slots cost 1 RU. Check the ledger size and pruning floor.
- **Deprecated libraries**: web3.js is no longer maintained (ChainSafe sunset it in 2025); use ethers.js or viem for new projects.

## Verification checklist

Before submitting work with Chainstack:

- [ ] Node is deployed and status shows "Running"
- [ ] Endpoint URL is copied correctly (HTTPS or WSS)
- [ ] Access token or credentials are valid (test with a simple call)
- [ ] Access rules are configured if needed (IP allowlist, domain allowlist)
- [ ] Node is fully synced (check Sync progress in console)
- [ ] Billing plan and RU quota are sufficient for expected load
- [ ] Web3 library is connected to the correct endpoint
- [ ] Client-side timeout is set appropriately (not too short)
- [ ] Error handling includes retry logic for transient failures (502, 503, 504)
- [ ] Sensitive credentials (tokens, passwords) are stored in environment variables, not hardcoded

## Resources

- **Full documentation index**: https://docs.chainstack.com/llms.txt (compact index) or https://docs.chainstack.com/llms-full.txt (entire portal)
- **Blockchain APIs reference**: https://docs.chainstack.com/reference/blockchain-apis — RPC method reference for all supported protocols
- **Supported networks**: https://docs.chainstack.com/docs/protocols-networks — full list of 70+ blockchains, modes, and clients
- **Platform API**: https://docs.chainstack.com/reference/platform-api-getting-started — programmatic node and project management
- **Web3 libraries**: https://docs.chainstack.com/reference/web3-libraries — connecting web3.js, ethers.js, web3.py, and others
- **Authentication methods**: https://docs.chainstack.com/docs/authentication-methods-for-different-scenarios — API key, basic auth, JWT, OAuth
- **Error reference**: https://docs.chainstack.com/docs/error-reference — HTTP status codes and solutions
- **Chainstack MCP server**: https://docs.chainstack.com/docs/chainstack-mcp-server — deploy and manage nodes from an AI agent

---

> For additional documentation and navigation, see: https://docs.chainstack.com/llms.txt