Protocol Registry
getProtocols
Lists all 25 registered DeFi protocols with optional filtering by category or chain.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getProtocols",
"params": {
"chain": "ethereum"
},
"id": 1
}'import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
const result = await spectrum.registry.getProtocols();
console.log(result);{
"jsonrpc": "2.0",
"result": {
"data": [
{
"name": "Aave",
"slug": "aave-v3",
"url": "https://aave.com",
"category": "lending",
"description": "Decentralized lending protocol",
"version": "v3",
"chains": [
"ethereum",
"polygon",
"arbitrum"
]
}
]
},
"id": 1
}Protocol Slugs
aave-v2aave-v3compound-v2compound-v3uniswap-v2uniswap-v3uniswap-v4curvecurve-llamalendlidomorpho1inch-v6pendle-v2rocket-poolcoinbase-cbethbinance-wbethetherfifrax-etherswellankrstaderbenqi-savaxjitomarinadeblazestakeavantis
Parameters
| Name | Required | Description |
|---|---|---|
| category | no | Filter by category Options: lending, dex, staking, aggregator, derivatives |
| chain | no | Filter by chain (e.g. ethereum, polygon) |
Response Fields
| Field | Type |
|---|---|
data | object[] |
name | string |
slug | string |
url | string |
category | string |
description | string |
version | string |
chains | string[] |
getProtocol
Returns full details for a specific protocol including all contracts, ABIs, and addresses across chains.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getProtocol",
"params": {
"slug": "aave-v3"
},
"id": 1
}'import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
const result = await spectrum.registry.getProtocol('aave-v3');
console.log(result);{
"jsonrpc": "2.0",
"result": {
"data": {
"name": "Aave",
"slug": "aave-v3",
"url": "https://aave.com",
"category": "lending",
"description": "Decentralized lending protocol",
"version": "v3",
"chains": [
"ethereum",
"polygon",
"arbitrum"
]
}
},
"id": 1
}Parameters
| Name | Required | Description |
|---|---|---|
| slug | yes | Protocol identifier Options: aave-v2, aave-v3, compound-v2, compound-v3, uniswap-v2, uniswap-v3, uniswap-v4, curve, curve-llamalend, lido, morpho, 1inch-v6, pendle-v2, rocket-pool, coinbase-cbeth, binance-wbeth, etherfi, frax-ether, swell, ankr, stader, benqi-savax, jito, marinade, blazestake, avantis |
Response Fields
| Field | Type |
|---|---|
data | object |
name | string |
slug | string |
url | string |
category | string |
description | string |
version | string |
chains | string[] |
getRegistryContracts
Lists all smart contracts for a protocol, optionally filtered by chain.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getRegistryContracts",
"params": {
"slug": "aave-v3",
"chain": "ethereum"
},
"id": 1
}'import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
const result = await spectrum.registry.getProtocolContracts('aave-v3');
console.log(result);{
"jsonrpc": "2.0",
"result": {
"data": {
"protocol": "aave-v3",
"chain": "all",
"contracts": {
"pool": {
"name": "Pool",
"address": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2"
},
"oracle": {
"name": "AaveOracle",
"address": "0x54586bE62E3c3580375aE3723C145253060Ca0C2"
}
}
}
},
"id": 1
}Parameters
| Name | Required | Description |
|---|---|---|
| slug | yes | Protocol identifier Options: aave-v2, aave-v3, compound-v2, compound-v3, uniswap-v2, uniswap-v3, uniswap-v4, curve, curve-llamalend, lido, morpho, 1inch-v6, pendle-v2, rocket-pool, coinbase-cbeth, binance-wbeth, etherfi, frax-ether, swell, ankr, stader, benqi-savax, jito, marinade, blazestake, avantis |
| chain | no | Filter by chain |
Response Fields
| Field | Type |
|---|---|
data | object |
protocol | string |
chain | string |
contracts | object |
pool | object |
name | string |
address | string |
oracle | object |
name | string |
address | string |
getRegistryAddress
Resolves a specific contract address for a protocol on a given chain.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getRegistryAddress",
"params": {
"slug": "aave-v3",
"contract": "pool",
"chain": "ethereum"
},
"id": 1
}'import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
const result = await spectrum.registry.getAddress('aave-v3', 'pool', 'ethereum');
console.log(result);{
"jsonrpc": "2.0",
"result": {
"data": {
"protocol": "aave-v3",
"contract": "pool",
"chain": "ethereum",
"address": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2"
}
},
"id": 1
}Parameters
| Name | Required | Description |
|---|---|---|
| slug | yes | Protocol identifier Options: aave-v2, aave-v3, compound-v2, compound-v3, uniswap-v2, uniswap-v3, uniswap-v4, curve, curve-llamalend, lido, morpho, 1inch-v6, pendle-v2, rocket-pool, coinbase-cbeth, binance-wbeth, etherfi, frax-ether, swell, ankr, stader, benqi-savax, jito, marinade, blazestake, avantis |
| contract | yes | Contract key e.g. pool |
| chain | yes | Chain name e.g. ethereum |
Response Fields
| Field | Type |
|---|---|
data | object |
protocol | string |
contract | string |
chain | string |
address | string |
getRegistryCategories
Returns all available protocol categories that can be used for filtering.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getRegistryCategories",
"params": {},
"id": 1
}'import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
const result = await spectrum.registry.getCategories();
console.log(result);{
"jsonrpc": "2.0",
"result": {
"data": [
"lending",
"dex",
"staking",
"aggregator",
"derivatives"
]
},
"id": 1
}Categories
lendingdexstakingaggregatorderivatives
Response Fields
| Field | Type |
|---|---|
data | string[] |
getRegistryChains
Returns all blockchain chains that have registered protocols in the registry.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "getRegistryChains",
"params": {},
"id": 1
}'import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
const result = await spectrum.registry.getChains();
console.log(result);{
"jsonrpc": "2.0",
"result": {
"data": [
"ethereum",
"polygon",
"arbitrum",
"optimism",
"base",
"bsc",
"avalanche",
"gnosis",
"linea",
"scroll",
"sonic",
"mantle",
"zksync",
"celo",
"fantom",
"moonbeam",
"solana"
]
},
"id": 1
}Response Fields
| Field | Type |
|---|---|
data | string[] |