Goldsky Documentation
website·Indexed 35 days ago
https://docs.goldsky.com/Developer platform for building and deploying Turbo pipelines, Edge RPC, Compose, and Subgraphs across a wide variety of blockchain networks. Includes a v1 REST API for management, Boost for reducing RPC costs through indexed data caching, and AI Agent skills for integration with assistants like Claude Code and Cursor.
What's inside Goldsky
- Turbo pipelines are Goldsky's next-generation data pipeline engine designed for streaming onchain data. Key technical capabilities include inter-batch parallelism, pipeline startups in under 5 seconds, and the ability to define pipeline logic using SQL and TypeScript transforms. It supports sources from EVM, Solana, and Bitcoin, allowing data to be shaped and delivered to databases, queues, or warehouses.
Overview of Dynamic Tables
Dynamic tables are real-time lookup tables used for filtering and enrichment within a pipeline. They allow developers to update watchlists or allowlists while the pipeline is running without requiring a redeploy. These tables are maintained in a PostgreSQL database and can be updated either externally via direct SQL or internally by the pipeline itself. Lookups are performed using thedynamic_table_check()function.Overview of the Compliance Oracle Workflow
The compliance oracle is a system that gates USDC payments based on AML (Anti-Money Laundering) risk scores. The workflow operates as follows:
- Request: A sender calls
requestTransferon an escrow contract, which pulls USDC and emits aTransferRequestedevent. - Screening: A Goldsky Compose task is triggered by the event and queries the Webacy AML API for the sender's risk score.
- Decision: An oracle wallet signs either
approveTransfer(sending funds to the business wallet) orrejectTransfer(returning funds to the sender). Gas for these callbacks is sponsored. - Audit: The decision and screening result are stored in a durable collection for auditing.
- Reconciliation: A cron job runs every 5 minutes to alert on any transfers remaining in a
Pendingstate.
- Request: A sender calls
Overview of x402 nanopayments for Edge RPC
Edge RPC supports pay-per-request payments using the x402 HTTP protocol, settled through Circle Gateway. This allows developers to access Edge RPC without a Goldsky account or API key. The cost is $5 per million requests (0.000005 USDC per call) across all methods and supported chains. Your wallet address serves as your identity for metrics and rate limiting.Overview of Edge EVM Sources
Edge EVM datasets (edge.evm.*) stream blockchain data directly from an EVM JSON-RPC endpoint during pipeline execution. Unlike curated datasets, Edge EVM sources run their own fetcher to pull block bodies, receipts, and traces via batched JSON-RPC. This is ideal for indexing chains not yet curated by Goldsky, using custom RPC providers, or obtaining data at the chain tip with minimal infrastructure.Overview of Goldsky Subgraph Indexing
Goldsky provides a fully backwards-compatible subgraph indexing service that utilizes the same WASM processing layer as standard subgraphs. It enhances the indexing experience by providing a rewritten RPC layer, an autoscaling query layer, and storage optimizations. Key benefits include 99.9%+ uptime, query performance up to 6x faster, native webhook support for push-based notifications, and the ability to index custom EVM chains, including private blockchains or rollups.Overview of Hyperliquid HyperCore datasets for Turbo pipelines
Goldsky provides curated Hyperliquid Hypercore datasets to facilitate the building of pipelines for perpetual and spot market analysis.
Important Constraints:
- Data Availability: Historical Hypercore data starts at block
846900800(January 1, 2026). Blocks prior to this height are not available. - Access: Users must contact
support@goldsky.comto request access to these datasets.
Available Datasets:
hypercore.blocks: Per-block metadata.hypercore.fills: Individual executions against resting orders, including liquidation details.hypercore.trades: Reconstructed market trades (pairing two fills under the same trade).hypercore.transactions: Signed-action transactions and their execution responses.hypercore.misc_events: Miscellaneous event data.
- Data Availability: Historical Hypercore data starts at block
Overview of Turbo Transform types
Transforms sit between sources and sinks in a Turbo pipeline to process data as it flows. Available transform types include:
- SQL Transform: Used for filtering, projections, and column transformations.
- Dynamic Tables: Updatable lookup tables used for filtering.
- HTTP Handlers: Used to call external APIs to enrich data.
- WebAssembly Scripts: Used to execute custom JavaScript/TypeScript logic.
- Throttle: Used to cap stream throughput to a fixed records-per-second rate.
Overview of Solana Stablecoin Transfers dataset
Thesolana.stablecoin_transfersdataset is a Turbo-exclusive curated dataset that streams one row per SPL token transfer involving a tracked stablecoin mint. It is a pre-filtered version ofsolana.token_transfersthat addssymbolandcurrency(fiat) fields. This dataset is not available in Mirror.Overview of Goldsky Edge RPC
Edge RPC provides low-latency RPC access for EVM networks via a multi-region CDN (8+ regions) with sub-100ms latency. It is designed for both frontend applications (via caching and request deduplication) and indexing backends (via archive access and high-throughput batch requests). The service includes automatic failover across multiple providers for 99.9% uptime and cross-validation to ensure data integrity. Pricing is flat at $5 per million requests for all methods.Overview of the solana.dex_swaps Turbo dataset
Thesolana.dex_swapsdataset is a Turbo-exclusive curated dataset that provides normalized swap events from major Solana AMMs and bonding-curve programs. It emits one row per DEX swap, decoding the bought/sold tokens, amounts (raw and decimal-scaled), the underlying program, and transaction context. It is used to track swap volume, prices, and flows across multiple DEXes without manual instruction decoding, and to attribute swaps to routers/aggregators (e.g., Jupiter) versus direct interactions.Overview of TypeScript transforms in Turbo pipelines
TypeScript transforms allow the execution of custom TypeScript or JavaScript code on each record in a pipeline. This is used for complex transformations, business logic, data parsing, and row filtering that cannot be achieved via SQL.
Runtime Environment:
- Code runs in a sandboxed WebAssembly environment using a QuickJS interpreter (via Extism's js-pdk).
- TypeScript is transpiled to ES2020 JavaScript via SWC at build time.
- Constraints: The runtime is browser-style JavaScript. It does NOT support Node.js APIs (
require,import,process,fs,http,Buffer), DOM APIs (window,document,fetch), or any package manager. All dependencies must be inlined into the script. - Performance: TypeScript transforms are significantly slower than SQL transforms. It is recommended to use SQL to filter and project data first to minimize the volume passed to the script.