Documentation
The Nanoly API is a suite of high-performance RESTful JSON endpoints that are specifically designed
to meet the mission-critical demands of application developers, data scientists, and enterprise business platforms.
All HTTP requests made against the API must be validated with an API Key. If you don't have an API Key yet contact us.
Request example with API Key:
https://api.nanoly.com/v1/vaults?api_key=xxxx&chain=ethereum
All requests should target domain:
https://api.nanoly.com
GET /v1/vaults
By passing in the appropriate options, you can search for active vaults
Parameters
api_key : string required
chain : string
optional
values:
ethereum, bsc, solana...
protocol : string
optional
values:
uniswap, balancer, curve...
kind : string optional
values: lp, single, noimploss, stable
token : string optional
values: UST, BUSD-BNB...
apy : float optional
values: 1, 5.4, 50...
tvl : string
optional
values:
10k, 100k, 1m...
sort : string
optional
values:
apy, -apy, tvl, -tvl...
page : integer optional
values: 1, 5, 50...
Result
{
"total": 10000,
"totalPages": 100,
"data": [
{
"id": 17213,
"name": "ETH-stETH",
"chain": "Ethereum",
"protocol": "Curve",
"base": 0.0236,
"reward": 0.0195,
"rewards": {
"CRV": 0.0019,
"LDO": 0.0176
},
"apy": 0.0431,
"apy_7_day": 0.0448,
"apy_7_avg": 0.0442,
"tvl": 3723758205,
"is_new": false
"kind": "lp",
"link": "https://curve.fi",
"contract_address": "0x030ba..." (informational only; use it at your own risk)
"composition": {
"ETH": 42341,
"stETH": 38729
},
"active": true
},
{
"id": 41219,
"name": "USDC",
"chain": "Ethereum",
"protocol": "Aave",
"base": 0.0019,
"reward": 0,
"rewards": {},
"apy": 0.0019,
"apy_7_day": 0.0164,
"apy_7_day": 0.0162,
"tvl": 333259,
"is_new": true
"kind": "single",
"link": "https://app.aave.com",
"contract_address": "0x030ba...", (informational only; use it at your own risk)
"composition": {
"USDC": 333259,
},
"active": true
}
]
}
GET /v1/vaults/:id
By passing in the appropriate options, you can get all vault infos
Parameters
id : integer required
api_key : string required
period : integer optional
values: 31, 365... (in days)
Result
{
"name": "ETH-stETH",
"chain": "Ethereum",
"protocol": "Curve",
"base": 0.0236,
"reward": 0.0195,
"rewards": {
"CRV": 0.0019,
"LDO": 0.0176
},
"apy": 0.0431,
"apy_7_day": 0.0448,
"apy_7_avg": 0.0442,
"tvl": 3723758205,
"is_new": false,
"kind": "single",
"link": "https://curve.fi",
"contract_address": "0x030ba..." (informational only; use it at your own risk)
"composition": {
"ETH": 42341,
"stETH": 38729
},
"active": true,
"series": [
{
"date": "2021-12-15T00:00:00.000Z",
"base": 0.01820000,
"reward": 0.04000000,
"apy": 0.05820000,
"tvl": 4879669240
},
{
"date": "2021-12-16T00:00:00.000Z",
"base": 0.02280000,
"reward": 0.04000000,
"apy": 0.06280000,
"tvl": 4879669240
}
]
}
FAQ
is_new stands for new pools (last 7 days)
kind represents the vault type. Values can be: "single" or "lp"
active means that the farm is active. We only return active pools in search, but if you store vault ID, you can retrieve pools that are ended or paused.
Currently, we only have daily snapshots. We monitor our pools every 1-60min depending on the protocol tho.