Skip to content
Open
86 changes: 66 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,28 @@

## 🌐 Supported Networks

| Network | Chain ID | Status | Endpoint |
|---------|----------|--------|----------|
| **Ethereum Mainnet** | 1 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/FV6RR6y13rsnCxBAicKuQEwDp8ioEGiNaWaZUmvr1F8k) |
| **Base Mainnet** | 8453 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/43s9hQRurMGjuYnC1r2ZwS6xSQktbFyXMPMqGKUFJojb) |
| **BSC Mainnet** | 56 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/D6aWqowLkWqBgcqmpNKXuNikPkob24ADXCciiP8Hvn1K) |
| **Polygon Mainnet** | 137 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/9q16PZv1JudvtnCAf44cBoxg82yK9SSsFvrjCY9xnneF) |
| **Monad** | 143 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/4tvLxkczjhSaMiqRrCV1EyheYHyJ7Ad8jub1UUyukBjg) |
| **Ethereum Sepolia** | 11155111 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/6wQRC7geo9XYAhckfmfo8kbMRLeWU8KQd3XsJqFKmZLT) |
| **Base Sepolia** | 84532 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/4yYAvQLFjBhBtdRCY7eUWo181VNoTSLLFd5M7FXQAi6u) |
| **BSC Chapel** | 97 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/BTjind17gmRZ6YhT9peaCM13SvWuqztsmqyfjpntbg3Z) |
| **Monad Testnet** | 10143 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/8iiMH9sj471jbp7AwUuuyBXvPJqCEsobuHBeUEKQSxhU) |
| **Polygon Amoy** | 80002 | ⛔️ Contracts not deployed | - |
| **Linea Sepolia** | 59141 | ⛔️ Contracts not deployed | - |
| **Hedera Testnet** | 296 | ⛔️ Contracts not deployed | - |
| **HyperEVM Testnet** | 998 | ⛔️ Contracts not deployed | - |
| **SKALE Base Sepolia** | 1351057110 | ⛔️ Contracts not deployed | - |

Note: The Graph Gateway endpoints require authentication (API key / authorization header). If you see an “auth error”, use the gateway form `https://gateway.thegraph.com/api/<API_KEY>/subgraphs/id/<SUBGRAPH_ID>`.
| Network | Chain ID | Status | The Graph | Goldsky |
|---------|----------|--------|-----------|---------|
| **Ethereum Mainnet** | 1 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/FV6RR6y13rsnCxBAicKuQEwDp8ioEGiNaWaZUmvr1F8k) | [Endpoint](https://api.goldsky.com/api/public/project_cmm2akwq17hxv01u972qzekpv/subgraphs/erc-8004-eth-mainnet/1.0.1/gn) |
| **Base Mainnet** | 8453 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/43s9hQRurMGjuYnC1r2ZwS6xSQktbFyXMPMqGKUFJojb) | [Endpoint](https://api.goldsky.com/api/public/project_cmm2akwq17hxv01u972qzekpv/subgraphs/erc-8004-base-mainnet/1.0.2/gn) |
| **BSC Mainnet** | 56 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/D6aWqowLkWqBgcqmpNKXuNikPkob24ADXCciiP8Hvn1K) | [Endpoint](https://api.goldsky.com/api/public/project_cmm2akwq17hxv01u972qzekpv/subgraphs/erc-8004-bsc-mainnet/1.0.1/gn) |
| **Polygon Mainnet** | 137 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/9q16PZv1JudvtnCAf44cBoxg82yK9SSsFvrjCY9xnneF) | [Endpoint](https://api.goldsky.com/api/public/project_cmm2akwq17hxv01u972qzekpv/subgraphs/erc-8004-polygon-mainnet/1.0.1/gn) |
| **Monad** | 143 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/4tvLxkczjhSaMiqRrCV1EyheYHyJ7Ad8jub1UUyukBjg) | [Endpoint](https://api.goldsky.com/api/public/project_cmm2akwq17hxv01u972qzekpv/subgraphs/erc-8004-monad-mainnet/1.0.1/gn) |
| **Ethereum Sepolia** | 11155111 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/6wQRC7geo9XYAhckfmfo8kbMRLeWU8KQd3XsJqFKmZLT) | [Endpoint](https://api.goldsky.com/api/public/project_cmm2akwq17hxv01u972qzekpv/subgraphs/erc-8004-eth-sepolia/1.0.1/gn) |
| **Base Sepolia** | 84532 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/4yYAvQLFjBhBtdRCY7eUWo181VNoTSLLFd5M7FXQAi6u) | [Endpoint](https://api.goldsky.com/api/public/project_cmm2akwq17hxv01u972qzekpv/subgraphs/erc-8004-base-sepolia/1.0.1/gn) |
| **BSC Chapel** | 97 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/BTjind17gmRZ6YhT9peaCM13SvWuqztsmqyfjpntbg3Z) | [Endpoint](https://api.goldsky.com/api/public/project_cmm2akwq17hxv01u972qzekpv/subgraphs/erc-8004-bsc-testnet/1.0.1/gn) |
| **Monad Testnet** | 10143 | ✅ Deployed | [Endpoint](https://gateway.thegraph.com/api/subgraphs/id/8iiMH9sj471jbp7AwUuuyBXvPJqCEsobuHBeUEKQSxhU) | [Endpoint](https://api.goldsky.com/api/public/project_cmm2akwq17hxv01u972qzekpv/subgraphs/erc-8004-monad-testnet/1.0.1/gn) |
| **Polygon Amoy** | 80002 | ⛔️ Contracts not deployed | - | - |
| **Linea Sepolia** | 59141 | ⛔️ Contracts not deployed | - | - |
| **Hedera Testnet** | 296 | ⛔️ Contracts not deployed | - | - |
| **HyperEVM Testnet** | 998 | ⛔️ Contracts not deployed | - | - |
| **SKALE Base Sepolia** | 1351057110 | ⛔️ Contracts not deployed | - | - |

**The Graph:** Endpoints require authentication (API key / authorization header). Use the form `https://gateway.thegraph.com/api/<API_KEY>/subgraphs/id/<SUBGRAPH_ID>`.

**Goldsky:** Endpoints are public with 50/10s per-IP rate limits — no authentication required for queries.

Provider support per network is configured via `graphNode.supported` and `goldsky.supported` in each network config file.

## 🚀 Quick Start

Expand Down Expand Up @@ -111,6 +115,11 @@ DEPLOYMENT=erc-8004-base-sepolia npm run build:single
"startBlock": 1
},
"graphNode": {
"supported": true,
"network": "new-network"
},
"goldsky": {
"supported": true,
"network": "new-network"
}
}
Expand Down Expand Up @@ -159,21 +168,58 @@ if (chainId.equals(BigInt.fromI32(123456))) {

### Deployment

#### The Graph Studio

```bash
# Deploy to The Graph Studio (requires auth token)
# Set your deployment key first:
# npx graph auth --studio <DEPLOY_KEY>

# Deploy specific network
DEPLOYMENT=erc-8004-eth-sepolia npm run deploy

# Deploy to Graph Studio (recommended; lets you set a release label)
# STUDIO_SLUG=<your-studio-subgraph-slug> DEPLOYMENT=erc-8004-eth-sepolia VERSION_LABEL=<your-release-label> npm run deploy:studio
STUDIO_SLUG=<your-studio-subgraph-slug> \
DEPLOYMENT=erc-8004-eth-sepolia \
VERSION_LABEL=<your-release-label> \
npm run deploy:studio

# Or deploy locally for testing
npm run create-local && npm run deploy-local
```

#### Goldsky

Goldsky provides backwards-compatible subgraph hosting with improved performance and reliability. Goldsky also has public-query endpoints, allowing you to query the subgraph without authentication, making Goldsky endpoints ideal for agentic applications.

**Prerequisites:**
- Install Goldsky CLI: `curl https://goldsky.com | sh`
- Obtain an API token from your [Goldsky Project Settings](https://app.goldsky.com) page

**Important:** Unlike The Graph, Goldsky requires you to build before deploying. The deploy scripts handle this automatically. Also, Goldsky uses unique `name/version` pairs — redeploying the same version will error. Bump the `VERSION` or use tags to manage releases.

```bash
# Deploy a single network to Goldsky
GOLDSKY_TOKEN=<your-token> \
DEPLOYMENT=erc-8004-eth-sepolia \
VERSION=1.0.0 \
npm run deploy:goldsky

# Deploy with a tag (e.g., "prod") for stable endpoints
GOLDSKY_TOKEN=<your-token> \
DEPLOYMENT=erc-8004-eth-sepolia \
VERSION=1.0.0 \
TAG=prod \
npm run deploy:goldsky

# Deploy ALL supported networks to Goldsky
GOLDSKY_TOKEN=<your-token> \
VERSION=1.0.0 \
npm run deploy:goldsky:all

# Update a tag to point to a new version (zero-downtime swap)
goldsky subgraph tag create erc-8004-eth-sepolia/2.0.0 --tag prod --token $GOLDSKY_TOKEN
```

## 📊 Overview

This subgraph indexes data from three core smart contracts implementing the ERC-8004 standard:
Expand Down
5 changes: 5 additions & 0 deletions config/networks/base-mainnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "base"
},
"goldsky": {
"supported": true,
"network": "base"
}
}
Expand Down
5 changes: 5 additions & 0 deletions config/networks/base-sepolia.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "base-sepolia"
},
"goldsky": {
"supported": true,
"network": "base-sepolia"
}
}
5 changes: 5 additions & 0 deletions config/networks/bsc-mainnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "bsc"
},
"goldsky": {
"supported": true,
"network": "bsc"
}
}
Expand Down
5 changes: 5 additions & 0 deletions config/networks/bsc-testnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "chapel"
},
"goldsky": {
"supported": true,
"network": "chapel"
}
}
Expand Down
5 changes: 5 additions & 0 deletions config/networks/eth-mainnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "mainnet"
},
"goldsky": {
"supported": true,
"network": "mainnet"
}
}
Expand Down
5 changes: 5 additions & 0 deletions config/networks/eth-sepolia.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "sepolia"
},
"goldsky": {
"supported": true,
"network": "sepolia"
}
}
4 changes: 4 additions & 0 deletions config/networks/hedera-testnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
"reputationRegistry": {},
"validationRegistry": {},
"graphNode": {
"supported": false,
"network": "hedera-testnet"
},
"goldsky": {
"supported": false
}
}
5 changes: 5 additions & 0 deletions config/networks/hyperevm-testnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
"reputationRegistry": {},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "hyperevm-testnet"
},
"goldsky": {
"supported": true,
"network": "hyperevm-testnet"
}
}
5 changes: 5 additions & 0 deletions config/networks/linea-sepolia.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
"reputationRegistry": {},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "linea-sepolia"
},
"goldsky": {
"supported": true,
"network": "linea-sepolia"
}
}
5 changes: 5 additions & 0 deletions config/networks/monad-mainnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "monad"
},
"goldsky": {
"supported": true,
"network": "monad"
}
}
Expand Down
5 changes: 5 additions & 0 deletions config/networks/monad-testnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "monad-testnet"
},
"goldsky": {
"supported": true,
"network": "monad-testnet"
}
}
Expand Down
5 changes: 5 additions & 0 deletions config/networks/polygon-amoy.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
"reputationRegistry": {},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "polygon-amoy"
},
"goldsky": {
"supported": true,
"network": "polygon-amoy"
}
}
5 changes: 5 additions & 0 deletions config/networks/polygon-mainnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
},
"validationRegistry": {},
"graphNode": {
"supported": true,
"network": "matic"
},
"goldsky": {
"supported": true,
"network": "matic"
}
}
Expand Down
22 changes: 22 additions & 0 deletions config/networks/skale-base-mainnet.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"network": "skale-base-mainnet",
"chainId": "1187947933",
"displayName": "SKALE Base Mainnet",
"identityRegistry": {
"address": "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
"startBlock": 689195
},
"reputationRegistry": {
"address": "0x8004BAa17C55a88189AE136b182e5fdA19dE9b63",
"startBlock": 689195
},
"validationRegistry": {},
"graphNode": {
"supported": false,
"network": "skale-base"
},
"goldsky": {
"supported": true,
"netowrk": "skale-base"
}
}
22 changes: 22 additions & 0 deletions config/networks/skale-base-sepolia.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"network": "skale-base-sepolia",
"chainId": "1351057110",
"displayName": "SKALE Base Sepolia",
"identityRegistry": {
"address": "0x8004A818BFB912233c491871b3d84c89A494BD9e",
"startBlock": 923614
},
"reputationRegistry": {
"address": "0x8004B663056A597Dffe9eCcC1965A193B7388713",
"startBlock": 923615
},
"validationRegistry": {},
"graphNode": {
"supported": false,
"network": "skale-base-sepolia-testnet"
},
"goldsky": {
"supported": true,
"network": "skale-base-sepolia-testnet"
}
}
11 changes: 0 additions & 11 deletions config/networks/skale-sepolia.json

This file was deleted.

Loading