List All Protocols
GET/protocols
Retrieve a list of all supported DeFi protocols.
Request
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chainId | number | No | Filter by chain ID |
Response
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique protocol identifier (UUID) |
name | string | Protocol name (Aave, Compound, Morpho, Moonwell) |
version | number | Protocol version number |
displayName | string | Human-readable protocol name with version |
chainId | number | Chain ID where this protocol is deployed |
protocolAddress | string | Main protocol contract address |
icon | string | Icon identifier for UI display |
docsUrl | string | Link to protocol documentation |
deprecated | boolean | Whether this protocol version is deprecated |
deprecationReason | string | Reason for deprecation (if applicable) |
createdAt | string | ISO 8601 creation timestamp |
updatedAt | string | ISO 8601 last update timestamp |
Get Single Protocol
GET/protocols/:id
Retrieve details for a specific protocol.
Request
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The protocol UUID |
Response
Same structure as individual items in List All Protocols.Get Protocol by Name and Chain
GET/protocols/by-name/:name/chain/:chainId
Retrieve all versions of a protocol on a specific chain.
Request
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Protocol name (Aave, Compound, Morpho, Moonwell) |
chainId | number | Yes | Chain ID |
Response
Get Latest Protocol Version
GET/protocols/by-name/:name/chain/:chainId/latest
Retrieve the latest version of a protocol on a specific chain.
Request
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Protocol name |
chainId | number | Yes | Chain ID |
Response
Same structure as individual items in List All Protocols.Create Protocol
POST/protocols
Add a new protocol version to the registry.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Protocol name (e.g. “Aave”) |
version | number | Yes | Protocol version number |
displayName | string | Yes | Human readable name |
chainId | number | Yes | Chain ID |
protocolAddress | string | Yes | Contract address |
icon | string | No | Icon identifier |
docsUrl | string | No | Documentation URL |
Response
Returns the created protocol object.Update Protocol
PUT/protocols/:id
Update an existing protocol’s details.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Protocol UUID |
Request Body
Same fields as Create Protocol. All fields are optional.Delete Protocol
DELETE/protocols/:id
Remove a protocol from the registry.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Protocol UUID |
Deprecate Protocol
POST/protocols/:id/deprecate
Mark a protocol as deprecated without deleting it.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Protocol UUID |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
reason | string | No | Reason for deprecation |