Skip to main content
A no-code subgraph turns a contract’s events into a GraphQL API. You give the Goldsky CLI the contract addresses, a network and the events you want, and it generates the subgraph, builds it and deploys it. This guide indexes Elysium’s canonical bridge: the gateways that move tokens such as USDC and WHYPE between HyperEVM and Elysium. The result is an API of every token deposit into Elysium and every withdrawal to HyperEVM, with the token, the sender, the recipient and the amount. The same steps work for any Elysium contract: change the addresses, the ABI and the events.

What you’ll need

  • The Goldsky CLI, logged in.
  1. Install the Goldsky CLI: For macOS/Linux:
    For Windows:
    Windows users need to have Node.js and npm installed first. Download from nodejs.org if not already installed.
  2. Log into your Project by running:
    This opens your browser to sign in (Google, GitHub, SSO, or email). Once you authenticate, the CLI is logged in automatically — there’s no API key to copy or paste.
    On a headless or remote machine (or in CI), create an API key on your Project Settings page and pass it directly with goldsky login --token <API_KEY>. Use goldsky login --no-browser to print the login URL instead of opening a browser.
  3. Now that you are logged in, run goldsky to get started:

The contracts

Elysium is an Arbitrum Orbit chain that settles to HyperEVM. Tokens issued on HyperEVM reach Elysium through two gateway contracts, which both emit the standard Arbitrum token bridge events: Both events name the token by its address on HyperEVM, not on Elysium. HYPE, Elysium’s gas token, uses a different path and doesn’t appear in these events. Track Elysium bridge flows covers HYPE as well.

1. Save the ABI

The CLI reads a contract’s ABI from a local file named after the contract, in lowercase. Both gateways use the same two events, so save this as abis/standardgateway.json:
abis/standardgateway.json
Then copy it for the second gateway:

2. Deploy the subgraph

Run this from the folder that contains abis/:
Leave out the flags to answer the same questions one at a time in the interactive wizard. The no-code subgraph reference lists every flag. When the deploy finishes, the CLI prints two links: the subgraph’s dashboard, where you can follow indexing, and its GraphQL endpoint. The subgraph is named after the network, here elysium-bridge-elysium-mainnet/1.0.0.

3. Query bridge activity

Open the GraphQL endpoint in a browser to use its query editor, or send queries from your app. The subgraph returns data while it indexes. Events from both gateways land in the same two collections, depositFinalizeds and withdrawalInitiateds. contractId_ tells you which gateway emitted the event. The CLI drops the leading _ from the event’s parameter names, so _from becomes from, and it adds the fields that end in _. The latest deposits into Elysium:
USDC deposits only, by its HyperEVM address:
Every withdrawal one wallet started:
amount is in the token’s smallest unit: divide by 10^6 for USDC and 10^18 for WHYPE. Addresses in where filters are lowercase.

Notes

  • A withdrawal row means the withdrawal started on Elysium. The tokens reach HyperEVM later, when the withdrawal is executed there.

Getting help

Can’t find what you’re looking for? Reach out to us at support@goldsky.com for help.