thyme/labs
Start building
Thyme Atlas

Migrate from Goldsky

Same subgraph. A different bill.

Atlas runs standard subgraphs on managed Graph Nodes. Your subgraph.yaml, schema and mappings deploy as they are with graph deploy, so moving from Goldsky is a redeploy and an endpoint swap. The same steps work if you came to Goldsky from Alchemy Subgraphs.

Per subgraph, per hour
$0
Queries free every month
100K
Same build, same mappings
Graph CLI

01 / Mapping

The Goldsky workflow, on Atlas.

Both run Graph Node, so the subgraph itself does not change. What changes is how you authenticate, deploy and promote a version.

GoldskyThyme AtlasNotes
Goldskygoldsky loginThyme AtlasA deployment key from the Atlas console (atlas_dk_…)Pass it to Graph CLI. Revoking a key stops new deploys within seconds.
Goldskygoldsky subgraph deploy name/v1 --path .Thyme Atlasgraph deploy name --node https://deploy.atlas.thymelabs.io/ … --version-label v1Run graph create once first. Each version label is immutable.
Goldsky--from-url or --from-ipfs-hash from The GraphThyme AtlasImport from The Graph, by deployment IDAtlas fetches the deployment files and indexes them unchanged.
GoldskyTags (goldsky subgraph tag create)Thyme AtlasPromote a release to productionThe subgraph URL serves the production release. Older releases stay available for rollback.
GoldskyPublic and private endpointsThyme AtlasQuery keysScope a key to the project or to one subgraph, and limit browser keys to your origins or IP addresses.
GoldskyWorker hours for each subgraphThyme AtlasNo per-subgraph chargeYou pay for queries and stored entities above the free allowance.
GoldskyWebhooks and pipelinesThyme AtlasNot offeredPoll the GraphQL endpoint instead, or keep those jobs on Goldsky.

02 / Code

Same build, different node.

Graph CLI builds the subgraph the same way for both. Only the deploy command and the query URL change.

deploy.shGoldsky
# Build with Graph CLI
graph codegen && graph build

# Deploy and tag on Goldsky
goldsky login
goldsky subgraph deploy my-subgraph/v1 --path .
goldsky subgraph tag create my-subgraph/v1 --tag prod

# Query
https://api.goldsky.com/api/public/<project-id>/subgraphs/my-subgraph/prod/gn
deploy.shThyme Atlas
# Build with Graph CLI, unchanged
graph codegen && graph build

# Deploy to Atlas with a deployment key
export ATLAS_DEPLOY_KEY=atlas_dk_...
graph create my-subgraph \
  --node https://deploy.atlas.thymelabs.io \
  --access-token "$ATLAS_DEPLOY_KEY"
graph deploy my-subgraph \
  --node https://deploy.atlas.thymelabs.io/ \
  --ipfs https://ipfs.atlas.thymelabs.io/api/v0 \
  --deploy-key "$ATLAS_DEPLOY_KEY" \
  --headers "{\"Authorization\":\"Bearer $ATLAS_DEPLOY_KEY\"}" \
  --version-label v1

# Promote v1 in the console, then query with a query key
https://query.atlas.thymelabs.io/subgraphs/<subgraph-id>

03 / Agent

Or let your agent move it.

Paste one prompt into Claude Code, Codex, Cursor or any other coding agent. It reads the migration skill, checks every manifest against the Atlas limits, deploys the same build and switches your app to the Atlas endpoint once the release has synced.

prompt

Read https://flow.thymelabs.io/docs/skills/thyme-migrate-goldsky/SKILL.md and follow it to move the subgraphs in this repository from Goldsky to Thyme Atlas. If you support skills, save that file as a skill named thyme-migrate-goldsky. Start by checking each manifest against the Atlas limits, tell me what blocks a move, and ask me for a deployment key before deploying anything.

Paste it into Claude Code, Codex, OpenCode, Cursor or any other agent.

You create the keys and promote releases in the Atlas console. The agent uses only the keys you export for it and leaves your Goldsky deployment alone until you say so.

04 / Steps

Move without downtime.

Goldsky keeps serving while Atlas indexes. Switch the URL only after the Atlas release has caught up with the chain.

  1. 01

    Check the manifest

    Atlas indexes mainnet, sepolia, matic, polygon-amoy, optimism, bsc and unichain-testnet. It supports specVersion up to 1.5.0, event, block and call handlers, and templates. Grafting, file data sources and Substreams are not supported.

  2. 02

    Create a deployment key

    Open Keys in the Atlas console, create a deployment key and create the subgraph, either in the console or with graph create.

  3. 03

    Deploy the same build

    Run graph deploy against the Atlas node from your subgraph directory. Keep the --headers flag: it authenticates the file uploads.

  4. 04

    Wait for sync, then promote

    Follow indexing progress in the console. When the release reaches the chain head, promote it to production.

  5. 05

    Switch the endpoint

    Create a query key, limit it to your origins if it runs in a browser, and send it as a bearer token.

    const res = await fetch(process.env.ATLAS_QUERY_URL, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        Authorization: 'Bearer ' + process.env.ATLAS_QUERY_KEY,
      },
      body: JSON.stringify({ query }),
    })
  6. 06

    Remove the Goldsky deployment

    Once traffic has moved, delete the subgraph on Goldsky so it stops using worker hours.

05 / Differences

When Atlas costs less, and when it does not.

Goldsky figures below are from its public pricing page in October 2026. Check its current prices before you decide.

Several subgraphs cost the same as one

Goldsky bills each always-on subgraph by the worker hour. Atlas has no per-subgraph charge and no limit on how many subgraphs a workspace deploys.

Stored entities cost less

Goldsky lists $4 per 100,000 stored entities after the first 100,000. Atlas charges $4 per 1,000,000 stored entities a month, after 100,000 free.

Queries are metered

Goldsky does not charge per query within its rate limits. Atlas charges $4 per 100,000 queries after 100,000 free a month. If one subgraph serves tens of millions of queries a month, Goldsky can cost less.

When to stay on Goldsky

Stay if you index chains Atlas does not cover yet, stream data out with webhooks or pipelines, or need grafting, Substreams, file data sources or more than about a day of time-travel history.

06 / FAQ

Questions

Do I need to change my subgraph?
Not if it uses a supported network and features. Atlas accepts the build Graph CLI already produces, with the same schema and mappings.
Will my app have downtime?
No. Keep Goldsky serving, deploy to Atlas, wait for the release to sync, then switch the URL in your app.
I came from Alchemy Subgraphs. Does this apply to me?
Yes. Alchemy shut down Subgraphs on December 8, 2025. Redeploy the same source to Atlas with Graph CLI, or import it by deployment ID if it is published on The Graph.
Which networks does Atlas index?
Ethereum, Ethereum Sepolia, Polygon, Polygon Amoy, OP Mainnet, BNB Smart Chain and Unichain Sepolia. To request another network, write to support@thymelabs.io.
How much does Atlas cost?
100,000 queries and 100,000 stored entities are free every month. After that, $4 per 100,000 queries and $4 per 1,000,000 stored entities a month. There is no charge per subgraph.
Can an AI agent do the migration?
Yes. Copy the prompt on this page into Claude Code, Codex, Cursor or another coding agent. It reads the thyme-migrate-goldsky skill, checks your manifests, deploys with Graph CLI and updates your endpoints. You create the keys and promote the release.
Can you help us move?
Yes. Send the subgraph names and networks to support@thymelabs.io and we will help you deploy them and check the sync.

Start here

Bring the subgraph. We run the node.

Deploy your existing build to Atlas, let it sync next to Goldsky, and switch when it has caught up.