Protocol Lens

This API retrieves information about all of the actions that occurred on the protocol within a certain timespan.

🚧

Time Range Limit

The maximum time range (difference between endDate and startDate) is 60 days.

📘

Not specifying startDate and endDate

If the startDate and endDate query parameters are not provided, the API will return data from the current date - 30 days.

So if the date-time today is 2022-12-20T00:00:00, then the first object in payload.data would start from at least 2022-11-20T00:00:00.

👍

Curve Pool Support

This endpoint only supports Curve v1 pools.

RESPONSE DATA

Understanding Actions in Uniswap

There are many different types of actions in Uniswap, as you'll see in the action property for each item of the payload.data array. The guide below will help you understand the possible actions.

Uniswap v2 ActionsUniswap v3 Actions
PairCreatedPoolCreated

PairCreated

📘

Only Uniswap v2

The protocol creates a liquidity pool for the pair token0 and token1 if it does not exist already.

{
  "event": "PairCreated(address token0, address token1, address pair, uint256)",
  "timestamp": "2022-07-03 00:00:08 000",
  "blockNumber": 15066169,
  "transactionHash": "0x9bcc2fdb2ddd4164882f2603c3c6bb1fdc3c5010b94778468b8c90debdb30cdb",
  "logIndex": 118,
  "poolAddress": "0x44636fa12c6e318a322fb6f09054864c8d4b1f9d",
  "token0": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
  "token1": "0xd2eb0c7a3fdbf6d7782ea2ac1df27aed03c1a1f3"
}
propertytype
eventstring
timestampstring | number
blockNumbernumber
transactionHashstring
logIndexnumber
poolAddressstring
token0string
token1string

PoolCreated

📘

Only Uniswap v3

The protocol creates a liquidity pool at the address pool for the pair token0 and token1 where each trade/swap incurs the given fee.

Multiply feeNormalized by 100 to get the percentage. In this case 0.3%.

{
  "blockNumber": 15536706,
  "transactionHash": "0x54085172515c1a785021f3275b21b3527535753854a24513ad2b59bca27c3af0",
  "logIndex": 564,
  "timestamp": "2022-09-15 03:55:29 000",
  "factoryAddress": "0x1f98431c8ad98523631ae4a59f267346ea31f984",
  "walletAddress": "0xb65ec76af01266bd3589677e46ae1255cbcccbb6",
  "event": "PoolCreated(address indexed token0, address indexed token1, uint24 indexed fee, int24 tickSpacing, address pool)",
  "action": "PoolCreated",
  "fee": "3000",
  "pool": "0xc6276da84fbd7d29990e848683b19fe3218888c9",
  "token0": "0x616d9c78cc0781b838ca66fe2d6d86d090211908",
  "token1": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
  "tickSpacing": "60",
  "feeNormalized": "0.003"
}
propertytype
blockNumbernumber
transactionHashstring
logIndexnumber
timestampstring | number
factoryAddressstring
walletAddressstring
eventstring
actionstring
feestring
poolstring
token0string
token1string
tickSpacingstring
feeNormalizedstring

Understanding Actions in Sushiswap

There are many different type(s) of actions in Sushiwap, as you'll see in the action property for each item of the payload.data array. The guide below will help you understand the possible actions.

Sushiswap Actions
PoolCreated

PoolCreated

The protocol creates a liquidity pool for the pair token0Address and token1Address if it does not exist already. The liquidity pool is identified by the address poolAddress.

{
  "blockNumber": 12540746,
  "transactionHash": "0xd0aaa13a31a6bd360a22c60e50c3f6ec0907e949b677e2887fb67884fad46082",
  "logIndex": 167,
  "timestamp": "2021-05-31 07:18:24 000",
  "factoryAddress": "0xc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac",
  "walletAddress": "0xaafdd2871e8ff26c1b2c46420453906b8069ec8c",
  "event": "PairCreated(index_topic_1 address token0, index_topic_2 address token1, address pair, uint256)",
  "action": "PoolCreated",
  "poolAddress": "0xd4d08d5abd7eb9e7c3199fee901b73ee0aeb77fa",
  "token0Address": "0x6d385716818e0e1ab3f022852eeb92e81e0d9376",
  "token1Address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
}
propertytype
eventstring
factoryAddressstring
walletAddressstring
poolAddressstring
timestampstringnumber
blockNumbernumber
transactionHashstring
logIndexnumber
token0Addressstring
token1Addressstring
actionstring

Understanding Actions in Curve

There are many different type(s) of actions in Curve, as you'll see in the action property for each item of the payload.data array. The guide below will help you understand the possible actions.

Curve Actions
PoolCreated

PoolCreated

A liquidity pool has been created at the address pool.

{
  "blockNumber": 14967642,
  "transactionHash": "0xfb48b7ab14629aece9b6692497e5a1555548088d42eee96990097ca73fabf95f",
  "logIndex": 99,
  "timestamp": "2022-06-15 13:08:03 000",
  "factoryAddress": "0xdcef968d416a41cdac0ed8702fac8128a64241a2",
  "walletAddress": "0xbabe61887f1de2713c6f97e567623453d3c79f67",
  "event": "PoolAdded(index_topic_1 address pool, bytes rate_method_id)",
  "action": "PoolCreated",
  "pool": "0xdcef968d416a41cdac0ed8702fac8128a64241a2",
  "rateMethodId": "0x00000000"
}
propertytype
blockNumbernumber
transactionHashstring
logIndexnumber
timestampstring | number
factoryAddressstring
walletAddressstring
eventstring
actionstring
poolstring
rateMethodIdstring


Language
Authorization
Header
Click Try It! to start a request and see the response here!