Migrating from Goldsky

Both endpoints speak standard JSON-RPC over HTTPS and WebSocket, so ethers, viem and web3.py need no code changes. Everything we add is additive.

The change

.envbash
- RPC_URL=Goldsky project-keyed endpoint+ RPC_URL=https://rpc.robinhoodrpc.io/v1/YOUR_KEY

Our extra namespaces are additive — nothing you already call changes shape.

Run both in parallel and diff the responses before you cut over. Our free tier makes that cost nothing.

What you gain

Subgraphs index what you define

There is no built-in equities schema. A subgraph that computes USD values from raw balances is wrong across any corporate action, and Goldsky will index that wrongness faithfully.

No consolidated tape or premium signal

Chain-generic by design. Venue normalisation and price reconciliation are yours to build.

Reorgs corrected, not emitted

Reorg handling is automatic. We additionally emit REORGED as an explicit event, because silent correction makes an audit log wrong in a way the consumer cannot detect.

Evaluate before you commit

  1. Get a key

    Sign up and copy your key. RPC is free, so this costs nothing to evaluate.

  2. Change one line

    Replace your Goldsky endpoint with ours. Both speak standard JSON-RPC, so ethers, viem and web3.py need no code changes.

  3. Run both in parallel

    Mirror traffic and diff the responses. For standard eth_* calls they should be identical.

  4. Test the pre-split block

    Ask both providers for a wallet's position value at a block preceding a corporate action. This is the test that separates them.

When to stay

When Goldsky is the right call

Goldsky is a strong product and the one we most respect in this market. If your data model is genuinely custom — you are indexing your own protocol rather than equities — their subgraph platform is the better tool, and you can point it at our RPC.

Gotchas

Our namespaces are additive: nothing you already call changes shape. The one behavioural difference worth knowing is that historical portfolio queries require an as_of parameter and will return 400 without one, rather than quietly answering with today’s multiplier.

Related