Deploying a Subgraph

Import an existing subgraph or deploy a new subgraph to Alchemy Subgraphs.

Import from The Graph

From your Alchemy Subgraphs dashboard, you can import your existing subgraph from The Graph in 1 click.

Import from IPFS CID

If you have an existing self-hosted subgraph, you can import via the IPFS CID in 1 click.

Deploy a Subgraph

From within your subgraph repo, run the following command:

cd <SUBGRAPH_DIRECTORY>

graph deploy <SUBGRAPH_NAME> \
  --version-label <VERSION_NAME> \
  --node https://subgraphs.alchemy.com/api/subgraphs/deploy \
  --deploy-key <DEPLOY_KEY> \
  --ipfs https://ipfs.satsuma.xyz

CLI Options

<SUBGRAPH_NAME> (Required): Specifies a unique name for a new/existing subgraph.

  • This name should not include the organization name (e.g. use mainnet instead of syndicate/mainnet).
  • Valid names are composed of alphanumeric characters, ., -, and _.

—version-label (Required):

  • Label that will be used as a unique version name for the subgraph.
  • Valid labels are composed of alphanumeric characters, ., -, and _.

—node (Required): Always set to <https://subgraphs.alchemy.com/api/subgraphs/deploy>.

—deploy-key (Required): API deploy key that you can access from your Alchemy Dashboard.

—ipfs (Optional): The IPFS node to which the deployment files are uploaded to.

Suggestions

  • We highly recommend using Alchemy Subgraph's IPFS gateway by specifying the --ipfs flag.
  • If you're running this from a npm script, make sure to keep your deploy key in a .env file or pass it in dynamically:
    {
      "name": "compound-v3-subgraph",
      ...
      "scripts": {
        "deploy": "graph deploy compound-v3 --version-label $VERSION_LABEL --node https://subgraphs.alchemy.com/api/subgraphs/deploy --deploy-key $DEPLOY_KEY --ipfs https://ipfs.satsuma.xyz",
      },
      ...
    }
    
    DEPLOY_KEY=dummy_key VERSION_LABEL=v0.0.3 npm run deploy
    
ReadMe