← GoldskyCONTENT HISTORY

Update to Goldsky

Snapshot Nov 6, 2026 · 00:15 UTC · version 1.7.14

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Goldsky and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Migrate a subgraph from The Graph to Goldsky as a drop-in replacement — no code changes required. Use this skill when the user wants to move, switch, port, or migrate a subgraph off The Graph (hosted service, Subgraph Studio, or the decentralized network) onto Goldsky, or when a subgraph endpoint they relied on (e.g. The Graph hosted service) was sunset. Triggers on: 'migrate from The Graph', 'move my subgraph to Goldsky', 'switch off The Graph', 'redeploy a TheGraph subgraph', 'my subgraph endpoint is gone', 'from-url', 'from-ipfs-hash', 'drop-in replacement for The Graph'. For diagnosing a subgraph that fails after migrating, use /subgraph-doctor. For building/authoring or general deploy/tag/endpoint reference, use /subgraph-builder.",
  "included_files": [
    {
      "relative_path": "evals/trigger-eval.json",
      "size_in_bytes": 1540
    }
  ],
  "name": "subgraph-migrate",
  "skill_md_contents": "---\nname: subgraph-migrate\ndescription: \"Migrate a subgraph from The Graph to Goldsky as a drop-in replacement — no code changes required. Use this skill when the user wants to move, switch, port, or migrate a subgraph off The Graph (hosted service, Subgraph Studio, or the decentralized network) onto Goldsky, or when a subgraph endpoint they relied on (e.g. The Graph hosted service) was sunset. Triggers on: 'migrate from The Graph', 'move my subgraph to Goldsky', 'switch off The Graph', 'redeploy a TheGraph subgraph', 'my subgraph endpoint is gone', 'from-url', 'from-ipfs-hash', 'drop-in replacement for The Graph'. For diagnosing a subgraph that fails after migrating, use /subgraph-doctor. For building/authoring or general deploy/tag/endpoint reference, use /subgraph-builder.\"\n---\n\n# Migrate a Subgraph from The Graph\n\nMigrating an existing subgraph from The Graph to Goldsky is a **drop-in replacement** — you don't change your subgraph code. You point Goldsky at your published subgraph (by URL or IPFS hash) or redeploy from source, then swap the endpoint your app queries.\n\n> **Worth a quick check first: do they still need a subgraph?**\n> Migration is a natural moment to reconsider. If the dApp needs a hosted **GraphQL API**, migrating the subgraph is the right move — continue below. But if the real goal is getting this data into a database for analytics or a backend, a **Turbo pipeline** is faster, more reliable, and cheaper (`/turbo-builder`) — they may not need a subgraph at all. Surface this once; if they clearly want GraphQL, proceed with the migration.\n\n## Boundaries\n\n- This skill is for migrating **from The Graph** (hosted service, Subgraph Studio, or decentralized network).\n- For diagnosing a subgraph that fails to deploy or sync after migrating, use `/subgraph-doctor`.\n- For deploy/tag/endpoint/webhook reference, use `/subgraph-builder`.\n- For migrating from Alchemy, follow the dedicated Alchemy migration docs (not covered here).\n\n## Two hard rules\n\n> **1. Never invent the source URL or IPFS hash.** Always have the user provide their actual deployment URL or IPFS hash. Do not construct or guess `api.thegraph.com/...` or gateway URLs — fabricated source URLs are a top failure mode and waste deploy attempts. If you don't have a verified source, ask for it (see Step 2).\n\n> **2. Never quote pricing.** Do not tell the user migration is \"free\" or \"cheap\" or estimate a price. Subgraph pricing depends on usage and plan, and a wrong guess erodes trust (one customer was told \"cheap\" then quoted $10k+). For any cost question, route them to a Goldsky quote: support@goldsky.com or their account/sales contact.\n\n## Step 1: Choose a migration path\n\n| You have… | Use | Notes |\n|-----------|-----|-------|\n| A public GraphQL endpoint for the deployed subgraph | `--from-url <url>` | Simplest. Works for publicly deployed subgraphs. |\n| The subgraph's IPFS hash (deployment ID) | `--from-ipfs-hash <hash>` | Use when you have the hash but not a queryable URL. |\n| The original source code locally | `--path .` (build first) | Use if the published version is unavailable or you want to change code. |\n\nRecommend `--from-url` when the user has a working endpoint; otherwise `--from-ipfs-hash`.\n\n## Step 2: Get the real source identifier\n\nBefore deploying, get the user's actual source — do not guess it.\n\n- **From-URL:** Ask the user to paste the GraphQL endpoint they currently query on The Graph.\n- **From-IPFS-hash:** The IPFS hash is the deployment ID (`Qm...`). The user can find it on The Graph's explorer/Studio, or by querying their existing endpoint:\n  ```graphql\n  { _meta { deployment } }\n  ```\n  `deployment` is the IPFS hash.\n\nIf the user can't produce either, fall back to deploying from source (`--path`) and point them to `/subgraph-builder` for `init`/build.\n\n## Step 3: Install the CLI and log in\n\nCLI setup is the most common migration sticking point — confirm it before deploying.\n\n```bash\n# Follow /auth-setup and run its installer with cli; Windows uses WSL.\nexport PATH=\"$HOME/.local/bin:$HOME/.goldsky/bin:$PATH\"\n# Have the user authenticate manually in this same environment.\ngoldsky login\n```\n\nVerify with `goldsky project list`. If login fails, use `/auth-setup`.\n\n## Step 4: Deploy to Goldsky\n\nPick the line matching the path from Step 1. Choose your own `name/version` for the Goldsky deployment:\n\n```bash\n# From a public GraphQL endpoint\ngoldsky subgraph deploy my-subgraph/1.0.0 --from-url <your-thegraph-endpoint>\n\n# From an IPFS hash (deployment ID)\ngoldsky subgraph deploy my-subgraph/1.0.0 --from-ipfs-hash <Qm...>\n\n# From source (build first per /subgraph-builder)\ngoldsky subgraph deploy my-subgraph/1.0.0 --path ./build\n```\n\n> If a subgraph with the same IPFS hash was already indexed on Goldsky, it can sync **instantly** to 100% — that's expected, not an error. You still get your own endpoint with your own rate limits.\n\n> Deployments with a lot of metadata can hit IPFS timeouts (`524`). Retry — usually a later attempt succeeds. If it keeps failing, escalate to support to port it manually.\n\n## Step 5: Verify it's syncing\n\n```bash\ngoldsky subgraph list my-subgraph/1.0.0\n```\n\nThen run the `_meta` query against the new Goldsky endpoint to confirm the indexed head is advancing:\n\n```graphql\n{ _meta { hasIndexingErrors block { number } } }\n```\n\n- A fresh migration that wasn't pre-indexed syncs from the start block — this can take a while. That's normal.\n- **Stuck at a low %** (e.g. 0.05%) is usually a mapping/handler error or a wrong network, **not** a slow sync. Hand off to `/subgraph-doctor`.\n- `hasIndexingErrors: true` → `/subgraph-doctor`.\n\n## Step 6: Migrate tags and swap your endpoint\n\nGoldsky tags pin a stable alias (like `prod`) to a version so your frontend URL never changes on redeploy:\n\n```bash\ngoldsky subgraph tag create my-subgraph/1.0.0 --tag prod\n# Tagged endpoint:\n# https://api.goldsky.com/api/public/<project-id>/subgraphs/my-subgraph/prod/gn\n```\n\nOnce synced, point your app at the Goldsky endpoint (use the tagged URL so future redeploys don't break the frontend). See `/subgraph-builder` for endpoints, private endpoints/API keys, and webhooks.\n\n## Common migration gotchas\n\nThese show up because a subgraph authored for The Graph hits Goldsky's spec validation on first deploy. If any occur, hand the exact error to `/subgraph-doctor`:\n\n- `subgraph must use a single apiVersion across its data sources` — unify `apiVersion`.\n- `Interface '<X>' not defined`, or timeseries/aggregation spec errors — fix the schema.\n- `no network <slug> found` — the chain slug differs on Goldsky; use the correct supported-network slug.\n- `A deployment with this name & version already exists` — bump the version.\n- CLI deploy keeps failing on a valid subgraph — the no-code/dashboard deploy path is a fallback; escalate if both fail.\n\n## Related\n\n- **`/subgraph-builder`** — Build, author, and deploy subgraphs; endpoints, tags, webhooks reference\n- **`/subgraph-doctor`** — Diagnose a subgraph that fails to deploy or sync after migrating\n- **`/auth-setup`** — CLI installation and login\n- **Goldsky docs:** [docs.goldsky.com/subgraphs/migrate-from-the-graph](https://docs.goldsky.com/subgraphs/migrate-from-the-graph)\n"
}

SHA-256 of public snapshot: 5758ca93a8dfc21eee0c15e139e2e8708d9726fb306cb6019302625076f5725e