Documentation
Lockers V3
Subgraph API
Entities

Entities

Locker

Locker entity represents the UNCX liquidity locker.

FieldTypeDescription
idID!Locker address

Manager

Manager represents the Uniswap V3 NFT position manager. It is used to control the positions within the liquidity pools.

FieldTypeDescription
idID!Position manager address

Aggregate

Aggregate entity represents the aggregate of all pools added without the fee tier. It aggregates reserves and locks for a given combination of manager, token0, and token1.

FieldTypeDescription
idID!Manager + token0 + token1
token0Token!Token0 address
token1Token!Token1 address
managerManager!Position manager address
pools[Reserve!]!All aggregated reserves
locks[Lock!]!All aggregated locks

Reserve

Reserve entity represents the locked liquidity reserve for a specific pool.

FieldTypeDescription
idID!Pool address
liquidityBigInt!Locked liquidity reserve
mainTokenToken!Main token
baseTokenToken!Core tokens such as stablecoins, ETH, BNB etc.
poolPool!Pool object
aggregateAggregate!Pool aggregate
managerManager!Position manager address
locks[Lock!]!All locks in a reserve
lockIds[String!]!Lock IDs for a reserve
lockerLocker!Locker address

Pool

Pool entity represents a liquidity pool with specific tokens and fee tier. It holds the state of a liquidity pool.

FieldTypeDescription
idID!Pool address
feeTierBigInt!Pool fee tier
token0Token!Token0 address
token1Token!Token1 address
amount0BigInt!Amount of token0 stored in the pool
amount1BigInt!Amount of token1 stored in the pool
price0BigDecimalRelative price of token0
price1BigDecimalRelative price of token1
activeLiquidityBigInt!Total in-range liquidity
sqrtPriceX96BigInt!sqrtPriceX96, used for calculations
currentTickBigInt!Current pool tick
positionIds[String!]!All positions IDs
positions[Position!]!All positions
reserveReserve!Reserve
aggregateAggregate!Aggregator
managerManager!Position manager

Lock

The Lock entity represents a specific lock in the liquidity pool, which is characterized by its unique ID. It contains all the necessary details about the lock such as the locked liquidity, the tokens involved, lock owner, fee collection addresses, and unlock date among other details.

FieldTypeDescription
idID!Locker address + lock id
lockIdString!Lock id
mainTokenToken!Main token
baseTokenToken!Core tokens such as stablecoins, ETH, BNB etc.
lockedLiquidityBigInt!Liquidity stored in a lock (non-withdrawable)
lockedAmount0BigInt!Amount0 stored in a lock (non-withdrawable)
lockedAmount1BigInt!Amount1 stored in a lock (non-withdrawable)
lockedCoreUSDBigDecimal!USD value of the core asset locked (non-withdrawable)
lockedPercentBigDecimal!Locked percent of the active liquidity (non-withdrawable)
ownerWallet!Lock owner address
collectorWallet!Fee collection address
additionalCollectorWallet!Additional fee collection address
unlockDateBigInt!Unlock date as a timestamp
positionPosition!NFT position (manager + NFT id)
reserveReserve!Pool address
aggregateAggregate!Aggregator
managerManager!Position manager
lockerLocker!Locker address
blockNumberBigInt!Last update block
timestampBigInt!Last update timestamp
lockEvents[LockEvent!]!List all lock events for a lock
withdrawEvents[WithdrawEvent!]!List all withdraw events for a lock
increaseEvents[IncreaseEvent!]!List all increase liquidity events for a lock
relockEvents[RelockEvent!]!List all relock events for a lock
transferOwnershipEvents[TransferOwnershipEvent!]!List all transfer events for a lock
migrateEvents[MigrateEvent!]!List all migration events for a lock

Position

Position entity represents a specific NFT position in the liquidity pool. Each position is identified by a unique ID and has all the necessary details such as liquidity, tokens involved, ticks and associated lock.

FieldTypeDescription
idID!Position Manager + NFT ID
nftIdString!ID of the non-fungible position
token0Token!Token0 address
token1Token!Token1 address
lowerTickBigInt!Lower tick of the position
upperTickBigInt!Upper tick of the position
liquidityBigInt!Total position liquidity
amount0BigInt!Amount of token0 stored in the position
amount1BigInt!Amount of token1 stored in the position
coreTotalUSDBigDecimal!Core token USD TVL stored in the position
lockLock!Lock nonce
poolPool!Pool address
aggregateAggregate!Aggregator
managerManager!Position manager

Token

Token entity represents a specific token. It includes details such as the name, symbol, decimals and its use in reserves.

FieldTypeDescription
idID!Smart contract address of the token
nameString!Name of the token
symbolString!Symbol of the token
decimalsInt!The number of decimal places this token uses
tvlUSDBigDecimal!Dollar value locked in this token across all pools
lockedUSDBigDecimal!Dollar value locked in this token across all pools (non-withdrawable)
mainTokenReserves[Reserve!]!All reserves where this token is the main token
baseTokenReserves[Reserve!]!All reserves where this token is the core token
baseTokens[BaseToken!]!Check if token is a base token
blockNumberBigInt!Last update block
timestampBigInt!Last update timestamp

BaseToken

BaseToken entity represents a specific token that is considered as a base asset. It includes the price and last updated timestamp.

FieldTypeDescription
idID!Smart contract address of the token
tokenToken!Token data
basePriceBigInt!If asset is a core liquid asset, set its price
lastBaseUpdatedTimestampBigInt!Timestamp for updating base price

Wallet

Wallet entity represents an account or a wallet on the blockchain. It includes information on locks and collectors.

FieldTypeDescription
idID!Account address
locks[Lock!]!Associated locks
collectors[Lock!]!Associated fee collectors
additionalCollectors[Lock!]!Associated additional collectors

Events

EventCollection

This entity primarily acts as an aggregator for different types of events and contains locker address.

FieldTypeDescription
idIDLocker Address
lockEvents[LockEvent!]Collection of lock events
lockEventsNumberBigIntTotal number of lock events
withdrawEvents[WithdrawEvent!]Collection of withdrawal events
withdrawEventsNumberBigIntTotal number of withdrawal events
increaseEvents[IncreaseEvent!]Collection of increase events
increaseEventsNumberBigIntTotal number of increase events
relockEvents[RelockEvent!]Collection of relock events
relockEventsNumberBigIntTotal number of relock events
transferOwnershipEvents[TransferOwnershipEvent!]Collection of ownership transfer events
transferOwnershipEventsNumberBigIntTotal number of ownership transfer events
migrateEvents[MigrateEvent!]Collection of migration events
migrateEventsNumberBigIntTotal number of migration events
collectorEvents[CollectorEvent!]Collection of collector events
collectorEventsNumberBigIntTotal number of collector events
additionalCollectorEvents[AdditionalCollectorEvent!]Collection of additional collector events
additionalCollectorEventsNumberBigIntTotal number of additional collector events

LockEvent

This entity records all the information related to the locking event at a time of a transaction.

FieldTypeDescription
idIDLocker address + event index
lockIdStringLock ID
mainTokenTokenMain token (does not follow token0 / token1 contract order)
baseTokenTokenCore tokens such as stablecoins, ETH, BNB etc. (does not follow token0 / token1 contract order)
lockedLiquidityBigIntLiquidity stored in a lock (non withdrawable)
lockedAmount0BigIntAmount0 stored in a lock (non withdrawable)
lockedAmount1BigIntAmount1 stored in a lock (non withdrawable)
lockedCoreUSDBigDecimalUSD value of the core asset locked (non withdrawable)
lockedPercentBigDecimalLocked percent of the active liquidity (non withdrawable)
ownerWalletLock owner address
collectorWalletFee collection address
additionalCollectorWalletAdditional fee collection address
positionPositionNFT position (manager + NFT id)
lockLockLock ID
reserveReservePool address
aggregateAggregateAggregator
managerManagerPosition manager
lockerLockerLocker address
unlockDateBigIntUnlock date as a timestamp
blockNumberBigIntEvent block
timestampBigIntEvent timestamp
transactionBytesTransaction hash
eventsCollectionEventCollectionCollection reference

WithdrawEvent

This entity represents the event of a withdrawal action of the lock's liquidity. It has various attributes related to the withdrawal, such as the liquidity withdrawn and the address of the owner.

FieldTypeDescription
idIDLocker address + event index
lockIdStringLock ID
mainTokenTokenMain token
baseTokenTokenCore tokens like stablecoins, ETH, BNB
withdrawnLiquidityBigIntLiquidity withdrawn from a lock
withdrawnAmount0BigIntAmount0 withdrawn from a lock
withdrawnAmount1BigIntAmount1 withdrawn from a lock
withdrawnCoreUSDBigDecimalUSD value of the core asset withdrawn
withdrawnPercentBigDecimalWithdrawn percent of the active liquidity
ownerWalletLock owner address
collectorWalletFee collection address
additionalCollectorWalletAdditional fee collection address
positionPositionNFT position
lockLockLock ID
reserveReservePool address
aggregateAggregateAggregator
managerManagerPosition manager
lockerLockerLocker address
unlockDateBigIntUnlock date as a timestamp
blockNumberBigIntEvent block
timestampBigIntEvent timestamp
transactionBytesTransaction hash
eventsCollectionEventCollectionCollection reference

IncreaseEvent

The IncreaseEvent is an entity representing an event where the amount of liquidity locked in a specific lock is increased. This includes details about the locked funds before and after the increase, and the event details such as timestamp and transaction.

FieldTypeDescription
idIDLocker address + event index
lockIdStringLock ID
mainTokenTokenMain token (does not follow token0 / token1 contract order)
baseTokenTokenCore tokens such as stablecoins, ETH, BNB etc. (does not follow token0 / token1 contract order)
lockedLiquidityBeforeBigIntLiquidity stored before increase in a lock (non withdrawable)
lockedAmount0BeforeBigIntamount0 stored before increase in a lock (non withdrawable)
lockedAmount1BeforeBigIntamount1 stored before increase in a lock (non withdrawable)
lockedCoreUSDBeforeBigDecimalUSD value of the core asset locked before increase (non withdrawable)
lockedPercentBeforeBigDecimalLocked percent of the active liquidity before increase (non withdrawable)
lockedLiquidityAfterBigIntLiquidity stored in a lock after increase (non withdrawable)
lockedAmount0AfterBigIntamount0 stored in a lock after increase (non withdrawable)
lockedAmount1AfterBigIntamount1 stored in a lock after increase (non withdrawable)
lockedCoreUSDAfterBigDecimalUSD value of the core asset locked after increase (non withdrawable)
lockedPercentAfterBigDecimalLocked percent of the active liquidity after increase (non withdrawable)
ownerWalletLock owner address
collectorWalletFee collection address
additionalCollectorWalletAdditional fee collection address
positionPositionNFT position (manager + NFT id)
lockLockLock ID
reserveReservePool address
aggregateAggregateAggregator
managerManagerPosition manager
lockerLockerLocker address
unlockDateBigIntUnlock date as a timestamp
blockNumberBigIntEvent block
timestampBigIntEvent timestamp
transactionBytesTransaction hash
eventsCollectionEventCollectionCollection reference

RelockEvent

The RelockEvent entity represents an event where the unlock date is pushed further back. It provides information about the locked liquidity, the details of the tokens involved, and event specifics like timestamp and transaction.

FieldTypeDescription
idIDLocker address + event index
lockIdStringLock ID
mainTokenTokenMain token (does not follow token0 / token1 contract order)
baseTokenTokenCore tokens such as stablecoins, ETH, BNB etc. (does not follow token0 / token1 contract order)
lockedLiquidityBigIntLiquidity stored in a lock (non withdrawable)
lockedAmount0BigIntAmount0 stored in a lock (non withdrawable)
lockedAmount1BigIntAmount1 stored in a lock (non withdrawable)
lockedCoreUSDBigDecimalUSD value of the core asset locked (non withdrawable)
lockedPercentBigDecimalLocked percent of the active liquidity (non withdrawable)
ownerWalletLock owner address transfer
collectorWalletFee collection address
additionalCollectorWalletAdditional fee collection address
positionPositionNFT position (manager + NFT id)
lockLockLock ID
reserveReservePool address
aggregateAggregateAggregator
managerManagerPosition manager
lockerLockerLocker address
unlockDateBeforeBigIntOld unlock date as a timestamp
unlockDateAfterBigIntNew unlock date as a timestamp
blockNumberBigIntEvent block
timestampBigIntEvent timestamp
transactionBytesTransaction hash
eventsCollectionEventCollectionCollection reference

TransferOwnershipEvent

The TransferOwnershipEvent entity represents an event where the ownership of a lock is transferred from one wallet to another. It provides details about the locked funds and the wallets involved in the transfer, along with event specifics such as timestamp and transaction.

FieldTypeDescription
idIDLocker address + event index
lockIdStringLock ID
mainTokenTokenMain token (does not follow token0 / token1 contract order)
baseTokenTokenCore tokens such as stablecoins, ETH, BNB etc. (does not follow token0 / token1 contract order)
lockedLiquidityBigIntLiquidity stored in a lock (non withdrawable)
lockedAmount0BigIntAmount0 stored in a lock (non withdrawable)
lockedAmount1BigIntAmount1 stored in a lock (non withdrawable)
lockedCoreUSDBigDecimalUSD value of the core asset locked (non withdrawable)
lockedPercentBigDecimalLocked percent of the active liquidity (non withdrawable)
ownerBeforeWalletLock owner address before transfer
ownerAfterWalletLock owner address after transfer
collectorWalletFee collection address
additionalCollectorWalletAdditional fee collection address
positionPositionNFT position (manager + NFT id)
lockLockLock ID
reserveReservePool address
aggregateAggregateAggregator
managerManagerPosition manager
lockerLockerLocker address
unlockDateBigIntUnlock date as a timestamp
blockNumberBigIntEvent block
timestampBigIntEvent timestamp
transactionBytesTransaction hash
eventsCollectionEventCollectionCollection reference

MigrateEvent

MigrateEvent represents an event where a migration of a lock in the liquidity pool occurs. This involves moving funds from one lock to another.

FieldTypeDescription
idID!locker address + event index
lockIdString!lock id
mainTokenToken!main token
baseTokenToken!core tokens such as stablecoins, ETH, BNB etc.
lockedLiquidityBigInt!liquidity stored in a lock (non withdrawable)
lockedAmount0BigInt!amount0 stored in a lock (non withdrawable)
lockedAmount1BigInt!amount1 stored in a lock (non withdrawable)
lockedCoreUSDBigDecimal!USD value of the core asset locked (non withdrawable)
lockedPercentBigDecimal!locked percent of the active liquidity (non withdrawable)
ownerWallet!lock owner address
collectorWallet!fee collection address
additionalCollectorWallet!additional fee collection address
positionPositionnft position (manager + nft id)
lockLockLock ID
reserveReserve!pool address
aggregateAggregate!aggregator
managerManager!position manager
lockerLocker!locker address
unlockDateBigInt!unlock date as a timestamp
blockNumberBigInt!event block
timestampBigInt!event timestamp
transactionBytes!transaction hash
eventsCollectionEventCollection!collection reference

CollectorEvent

CollectorEvent represents an event where the fee collector of a lock changes. The fee collector is the account with the ability to initiate the fee collection process.

FieldTypeDescription
idID!locker address + event index
lockIdString!lock id
mainTokenToken!main token
baseTokenToken!core tokens such as stablecoins, ETH, BNB etc.
lockedLiquidityBigInt!liquidity stored in a lock (non withdrawable)
lockedAmount0BigInt!amount0 stored in a lock (non withdrawable)
lockedAmount1BigInt!amount1 stored in a lock (non withdrawable)
lockedCoreUSDBigDecimal!USD value of the core asset locked (non withdrawable)
lockedPercentBigDecimal!locked percent of the active liquidity (non withdrawable)
ownerWallet!lock owner address
collectorBeforeWallet!old fee collection address
collectorAfterWallet!new fee collection address
additionalCollectorWallet!additional fee collection address
positionPositionnft position (manager + nft id)
lockLockLock ID
reserveReserve!pool address
aggregateAggregate!aggregator
managerManager!position manager
lockerLocker!locker address
unlockDateBigInt!unlock date as a timestamp
blockNumberBigInt!event block
timestampBigInt!event timestamp
transactionBytes!transaction hash
eventsCollectionEventCollection!collection reference

AdditionalCollectorEvent

AdditionalCollectorEvent represents an event where the additional fee collector of a lock changes. The additional fee collector is an account granted permission to initiate the fee collection process.

FieldTypeDescription
lockedAmount1BigInt!amount1 stored in a lock (non withdrawable)
lockedCoreUSDBigDecimal!USD value of the core asset locked (non withdrawable)
lockedPercentBigDecimal!locked percent of the active liquidity (non withdrawable)
ownerWallet!lock owner address
collectorWallet!fee collection address
additionalCollectorBeforeWallet!old additional fee collection address
additionalCollectorAfterWallet!new additional fee collection address
positionPositionnft position (manager + nft id)
lockLockLock ID
reserveReserve!pool address
aggregateAggregate!aggregator
managerManager!position manager
lockerLocker!locker address
unlockDateBigInt!unlock date as a timestamp
blockNumberBigInt!event block
timestampBigInt!event timestamp
transactionBytes!transaction hash
eventsCollectionEventCollection!collection reference

Search

tokenSearch

The tokenSearch is a full-text search schema over the "Token" entity. It allows users to perform searches over the fields "symbol", "name", and "id".

nameentityfields
tokenSearchTokensymbol
tokenSearchTokenname
tokenSearchTokenid

poolSearch

The poolSearch is a full-text search schema for the "Pool" entity. It allows users to find specific "Pool" entities by their unique identifiers.

nameentityfields
poolSearchPoolid

lockSearch

The lockSearch is a full-text search schema over the "Lock" entity. It helps users find specific "Lock" entities by their unique "lockId".

nameentityfields
lockSearchLocklockId

reserveSearch

The reserveSearch is a full-text search schema designed for the "Reserve" entity. It allows users to search and find specific "Reserve" entities by their unique identifiers.

nameentityfields
reserveSearchReserveid

walletSearch

The walletSearch is a full-text search schema over the "Wallet" entity. It enables users to locate specific "Wallet" entities by their unique identifiers.

nameentityfields
walletSearchWalletid