Skip to main content
Retrieve a paginated list of DeFi protocols available on a specific blockchain network. Use the chainKey from the Chains endpoint to specify which chain to query.
Cost: Free (0 credits)
Interactive Playground: Test this endpoint in the API Playground. Get your API key at data.octav.fi

Endpoint


Parameters

chainKey
string
required
The chain identifier (e.g. ethereum, solana, arbitrum). Must match a chain’s key field from the Chains endpoint.
page
integer
default:"1"
Page number for pagination
  • Minimum: 1
limit
integer
default:"20"
Number of protocols per page
  • Minimum: 1
  • Maximum: 100

Response

Returns a paginated list of protocol objects.

Top-Level Fields

data
array
Array of protocol objects (see fields below)
pagination
object
Pagination metadata:
  • page — Current page number
  • limit — Items per page
  • hasMore — Whether more pages are available

Protocol Fields

uuid
string
Unique protocol identifier
key
string
Protocol key (e.g. "aave", "uniswap v3")
name
string
Display name (e.g. "Aave", "Uniswap V3")
imgSmall
string
URL to small protocol icon
imgLarge
string
URL to large protocol icon
isUserProtocol
boolean
true if this is a user-created custom protocol. Custom protocols only appear on page 1 and are listed before system protocols.

Example Request


Example Response


Pagination

The endpoint uses page-based pagination. Use page and limit to navigate through results.
  • Default behavior: Returns 20 protocols per page starting from page 1
  • hasMore flag: Indicates whether additional pages exist
  • User protocols: Custom user-created protocols are prepended on page 1 only
  • Ordering: System protocols are returned in a consistent order
Fetch all protocols for a chain by iterating until hasMore is false:

Use Cases

Build a protocol selection dropdown for your UI:

Error Responses

Invalid query parameters.
Common causes:
  • page is less than 1
  • limit exceeds 100
Authentication failed.
Solution: Check your API key in the Authorization header
The specified chain key does not exist.
Solution: Use the Chains endpoint to discover valid chain keys
Rate limit exceeded.
Solution: Wait for the specified time or implement retry logic

Chains

Get all supported chains and their keys

Portfolio

Get portfolio holdings by protocol

Protocol Types Reference

View all protocol type categories

Transactions

Query transactions filtered by protocol