skills/edge/SKILL.md
Use this skill when the user asks about Goldsky Edge — the managed RPC endpoint service for EVM chains. Triggers on: 'Edge RPC', 'Goldsky RPC endpoint', 'edge.goldsky.com', 'eth_getLogs is slow', 'RPC rate limit', 'hedged requests', 'flashblocks', 'HyperEVM system transactions', 'x402 pay-per-request RPC', 'Goldsky Edge pricing', 'Edge dashboard', 'gs_edge_ API key', 'rpc-edge'. Also use this skill when the user wants a resilient, low-latency JSON-RPC endpoint for EVM chains (Ethereum, Base, Arbitrum, Optimism, Polygon zkEVM, BSC, Avalanche, Berachain, HyperEVM, Monad, Sei, Sonic, Unichain, zkSync, etc.), is debugging RPC errors like -32005/-32012/-32014/-32015/-32016, or is comparing providers (Alchemy, Infura, QuickNode, Ankr) against Edge. For questions about self-hosting eRPC or custom eRPC configuration beyond what Edge exposes, point them at https://docs.erpc.cloud/llms.txt. Do NOT trigger on Goldsky Mirror, Turbo, or Subgraph pipeline questions — those belong to their respective skills.
npx skillsauth add goldsky-io/goldsky-agent edgeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Goldsky Edge is a managed, high-performance RPC endpoint service for EVM blockchains, built on eRPC — an open-source fault-tolerant EVM RPC proxy. It provides globally-distributed, low-latency RPC access with intelligent routing, caching, failover, and built-in observability.
Edge sits between your application and blockchain RPC providers. It adds:
eth_getLogs requests, routes historical queries to archive nodeshttps://edge.goldsky.com/standard/evm/{chainId}?secret=YOUR_SECRET
Replace {chainId} with the chain ID (e.g., 1 for Ethereum, 8453 for Base, 42161 for Arbitrum).
Three options:
?secret=YOUR_SECRETX-ERPC-Secret-Token: YOUR_SECRET8453) in USDC. Pricing is $0.000005 per request (same as the standard $5 per million rate). See https://www.x402.org/ for the protocol spec.curl -s "https://edge.goldsky.com/standard/evm/1?secret=YOUR_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
import { createPublicClient, http } from "viem";
import { mainnet } from "viem/chains";
const client = createPublicClient({
chain: mainnet,
transport: http("https://edge.goldsky.com/standard/evm/1?secret=YOUR_SECRET"),
});
import { JsonRpcProvider } from "ethers";
const provider = new JsonRpcProvider(
"https://edge.goldsky.com/standard/evm/1?secret=YOUR_SECRET"
);
Edge endpoints are created and managed in the Goldsky webapp at /dashboard/rpc-edge.
/dashboard/rpc-edge)gs_edge_...)Rate limits are configured per secret in the Goldsky Dashboard. Pick one of the following named tiers (source: https://docs.goldsky.com/edge-rpc/platform/security#rate-limiting):
| Budget ID | Total RPS | Per-IP RPS | Use case |
|-----------|-----------|------------|----------|
| None (Unlimited) | Unlimited | Unlimited | No rate limiting |
| edge-tier-6krpm-total-unlimited-per-ip | ~100 | Unlimited | Low volume |
| edge-tier-60krpm-total-unlimited-per-ip | ~1,000 | Unlimited | Medium volume |
| edge-tier-180krpm-total-unlimited-per-ip | ~3,000 | Unlimited | High volume |
| edge-tier-360krpm-total-unlimited-per-ip | ~6,000 | Unlimited | Very high volume |
| edge-tier-600krpm-total-unlimited-per-ip | ~10,000 | Unlimited | Enterprise volume |
| edge-tier-6krpm-total-500rpm-per-ip | ~100 | ~8 | Low volume + per-IP protection |
| edge-tier-60krpm-total-500rpm-per-ip | ~1,000 | ~8 | Medium volume + per-IP protection |
| edge-tier-180krpm-total-500rpm-per-ip | ~3,000 | ~8 | High volume + per-IP protection |
| edge-tier-360krpm-total-500rpm-per-ip | ~6,000 | ~8 | Very high volume + per-IP protection |
| edge-tier-600krpm-total-500rpm-per-ip | ~10,000 | ~8 | Enterprise volume + per-IP protection |
| edge-tier-unlimited-total-100rpm-per-ip | Unlimited | ~1.7 | Strict per-IP only |
| edge-tier-unlimited-total-500rpm-per-ip | Unlimited | ~8 | Moderate per-IP only |
Rate limit budgets internally define rules with:
Live registry (authoritative — always check this before recommending a chain): GET https://edge.goldsky.com/
Returns JSON with a standard array of every network Edge serves. Each entry has:
id — e.g. evm:1 (prefix + chain ID)alias — human name (e.g. mainnet, base, polygon)blockTimeMs — average block timestate — OK when operational# List all supported chain IDs
curl -s https://edge.goldsky.com/ | jq '.standard[].id'
# Find a specific chain
curl -s https://edge.goldsky.com/ | jq '.standard[] | select(.id=="evm:8453")'
Highlights include Ethereum, Arbitrum One, Base, Optimism, Polygon zkEVM, BSC, Avalanche, Berachain, HyperEVM, Monad, Sei, Sonic, Unichain, zkSync, plus their testnets — but the registry above is the source of truth and includes many more.
For the human-readable docs page: https://docs.goldsky.com/chains/supported-networks
Faster block confirmations on OP Stack chains (Base, Optimism, Unichain and their testnets). Enable by adding:
use-upstream=flashblocks*X-ERPC-Use-Upstream: flashblocks*Two distinct node pools for HyperEVM:
use-upstream=systx* — Archive nodes with system transactions (for indexing)use-upstream=standard* — Realtime nodes without system transactions (for frontend dApps)eth_getLogs or trace methods)Each endpoint has a built-in Grafana dashboard showing:
Edge normalizes errors from upstream providers:
| Code | Meaning | |------|---------| | -32005 | Rate limit exceeded | | -32012 | Range too large (eth_getLogs) | | -32014 | Missing data | | -32015 | Node timeout | | -32016 | Unauthorized |
Plus standard JSON-RPC errors (-32700, -32600, -32601, -32602, -32603) and EVM-specific errors (-32000, -32003, 3).
Full coverage of standard EVM JSON-RPC methods across five namespaces (60+ methods). Each method has its own docs page at https://docs.goldsky.com/edge-rpc/evm/methods/{method_name} — use it to confirm params, return shape, and any Edge-specific behavior before constructing a call.
Method index: https://docs.goldsky.com/edge-rpc/evm/methods
eth_* — core chain queries and transactionseth_accounts, eth_blobBaseFee, eth_blockNumber, eth_call, eth_chainId, eth_createAccessList, eth_estimateGas, eth_feeHistory, eth_gasPrice, eth_getBalance, eth_getBlockByHash, eth_getBlockByNumber, eth_getBlockReceipts, eth_getBlockTransactionCountByHash, eth_getBlockTransactionCountByNumber, eth_getCode, eth_getFilterChanges, eth_getFilterLogs, eth_getLogs, eth_getProof, eth_getStorageAt, eth_getTransactionByBlockHashAndIndex, eth_getTransactionByBlockNumberAndIndex, eth_getTransactionByHash, eth_getTransactionCount, eth_getTransactionReceipt, eth_getUncleByBlockHashAndIndex, eth_getUncleByBlockNumberAndIndex, eth_getUncleCountByBlockHash, eth_getUncleCountByBlockNumber, eth_maxPriorityFeePerGas, eth_newBlockFilter, eth_newFilter, eth_newPendingTransactionFilter, eth_pendingTransactions, eth_sendRawTransaction, eth_subscribe, eth_syncing, eth_uninstallFilter, eth_unsubscribe
debug_* — raw block/receipt data and EVM tracingdebug_getRawBlock, debug_getRawHeader, debug_getRawReceipts, debug_getRawTransaction, debug_traceBlockByHash, debug_traceBlockByNumber, debug_traceCall, debug_traceTransaction
trace_* — OpenEthereum-style tracingtrace_block, trace_call, trace_callMany, trace_filter, trace_get, trace_rawTransaction, trace_replayBlockTransactions, trace_replayTransaction, trace_transaction
net_* — network metadatanet_listening, net_peerCount, net_version
web3_* — client metadataweb3_clientVersion, web3_sha3
All methods use the standard JSON-RPC 2.0 envelope. Example for eth_getLogs:
curl -s "https://edge.goldsky.com/standard/evm/1?secret=YOUR_SECRET" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_getLogs",
"params": [{
"fromBlock": "0x1000000",
"toBlock": "0x1000064",
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
}]
}'
Before using trace methods (debug_trace*, trace_*), check the per-method page — not every chain supports every tracer, and some methods have chain-specific quirks documented there.
Edge is built on eRPC, an open-source fault-tolerant EVM RPC proxy. For capabilities beyond what Goldsky Edge exposes (self-hosting, custom cache drivers, custom selection policies, multi-provider failover, etc.), users may want to run eRPC directly.
For full eRPC reference (features, config, APIs), fetch the LLM-optimized docs bundle: https://docs.erpc.cloud/llms.txt
development
Turbo pipeline YAML reference and architecture guide. Covers: YAML field syntax (start_at, from, version, primary_key), source/transform/sink configuration, validation errors, resource sizing (xs–xxl), architecture decisions (dataset vs kafka, streaming vs job, fan-out vs fan-in, sink selection, pipeline splitting). Triggers on: 'what does field X do', 'what fields does a postgres sink need', 'what resource size', 'should I use kafka or dataset', 'how to structure my pipeline'. For writing transforms, use /turbo-transforms. For end-to-end building, use /turbo-builder.
tools
Build and deploy new Goldsky Turbo pipelines from scratch. Triggers on: 'build a pipeline', 'index X on Y chain', 'set up a pipeline', 'track transfers to postgres', or any request describing data to move from a chain/contract to a destination (postgres, mysql, clickhouse, kafka, pubsub, s3, sqs, webhook). Covers the full workflow: requirements → dataset selection → YAML generation → validation → deploy. Not for debugging (use /turbo-doctor) or syntax lookups (use /turbo-pipelines).
development
Write SQL, TypeScript, and dynamic table transforms for Turbo pipelines. Covers: decoding EVM logs with _gs_log_decode, filtering/casting blockchain data, UNION ALL for combining events, TypeScript/WASM transforms (invoke function), dynamic lookup tables (dynamic_table_check), transform chaining, and Solana decoding. Triggers on: 'decode Transfer events', 'write a SQL transform', 'filter by contract', 'TypeScript transform', 'dynamic table', 'UNION ALL'. For pipeline YAML structure, use /turbo-pipelines. For end-to-end building, use /turbo-builder.
tools
Use this skill when a user wants to store, manage, or work with Goldsky secrets — the named credential objects used by pipeline sinks. This includes: creating a new secret from a connection string or credentials, listing or inspecting existing secrets, updating or rotating credentials after a password change, and deleting secrets that are no longer needed. Trigger for any query where the user mentions 'goldsky secret', wants to securely store database credentials for a pipeline, or is working with sink authentication for PostgreSQL, Neon, Supabase, ClickHouse, Kafka, S3, Google Cloud Pub/Sub, Elasticsearch, DynamoDB, SQS, OpenSearch, or webhooks.