# User

## GET /v1/user/bin-ids/{user\_address}/{chain}/{pool\_address}

> User Current Bin Ids

```json
{"openapi":"3.0.2","info":{"title":"LFJ Dex API","version":"1.0.0"},"tags":[{"name":"User"}],"servers":[{"url":"https://api.lfj.dev"}],"security":[{"ApiKeyHeader":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-lfj-api-key"}},"schemas":{"Chain":{"title":"Chain","enum":["avalanche","arbitrum","base","berachain","binance","ethereum","mantle","monad","solana","sonic"],"type":"string","description":"An enumeration."},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}}},"paths":{"/v1/user/bin-ids/{user_address}/{chain}/{pool_address}":{"get":{"tags":["User"],"summary":"User Current Bin Ids","operationId":"user_current_bin_ids_v1_user_bin_ids__user_address___chain___pool_address__get","parameters":[{"required":true,"schema":{"title":"User Address","type":"string"},"name":"user_address","in":"path"},{"required":true,"schema":{"$ref":"#/components/schemas/Chain"},"name":"chain","in":"path"},{"required":true,"schema":{"title":"Pool Address","type":"string"},"name":"pool_address","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response User Current Bin Ids V1 User Bin Ids  User Address   Chain   Pool Address  Get","type":"array","items":{"type":"integer"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## GET /v1/user/pool-ids/{user\_address}/{chain}

> Get User Pool Ids

```json
{"openapi":"3.0.2","info":{"title":"LFJ Dex API","version":"1.0.0"},"tags":[{"name":"User"}],"servers":[{"url":"https://api.lfj.dev"}],"security":[{"ApiKeyHeader":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-lfj-api-key"}},"schemas":{"Chain":{"title":"Chain","enum":["avalanche","arbitrum","base","berachain","binance","ethereum","mantle","monad","solana","sonic"],"type":"string","description":"An enumeration."},"UserPoolPosition":{"title":"UserPoolPosition","required":["poolAddress","pairName","status","version","chain","lbBinStep","lbBaseFeePct","lbMaxFeePct","binIds","tokenX","tokenY"],"type":"object","properties":{"poolAddress":{"title":"Pooladdress","type":"string"},"pairName":{"title":"Pairname","type":"string"},"status":{"$ref":"#/components/schemas/PairStatus"},"version":{"$ref":"#/components/schemas/common__models__dex_v2__version__PairVersion"},"chain":{"title":"Chain","type":"string"},"lbBinStep":{"title":"Lbbinstep","type":"number"},"lbBaseFeePct":{"title":"Lbbasefeepct","type":"number"},"lbMaxFeePct":{"title":"Lbmaxfeepct","type":"number"},"binIds":{"title":"Binids","type":"array","items":{"type":"integer"}},"tokenX":{"$ref":"#/components/schemas/UserPoolPositionToken"},"tokenY":{"$ref":"#/components/schemas/UserPoolPositionToken"}}},"PairStatus":{"title":"PairStatus","enum":["main","old"],"description":"An enumeration."},"common__models__dex_v2__version__PairVersion":{"title":"PairVersion","enum":["v2.0","v2.1","v2.2"],"description":"An enumeration."},"UserPoolPositionToken":{"title":"UserPoolPositionToken","required":["address","name","symbol","decimals","priceUsd"],"type":"object","properties":{"address":{"title":"Address","type":"string"},"name":{"title":"Name","type":"string"},"symbol":{"title":"Symbol","type":"string"},"decimals":{"title":"Decimals","type":"integer"},"priceUsd":{"title":"Priceusd","type":"number"}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}}},"paths":{"/v1/user/pool-ids/{user_address}/{chain}":{"get":{"tags":["User"],"summary":"Get User Pool Ids","operationId":"get_user_pool_ids_v1_user_pool_ids__user_address___chain__get","parameters":[{"required":true,"schema":{"title":"User Address","type":"string"},"name":"user_address","in":"path"},{"required":true,"schema":{"$ref":"#/components/schemas/Chain"},"name":"chain","in":"path"},{"required":false,"schema":{"title":"Pagesize","maximum":100,"exclusiveMinimum":0,"type":"integer","default":20},"name":"pageSize","in":"query"},{"required":false,"schema":{"title":"Pagenum","exclusiveMinimum":0,"type":"integer","default":1},"name":"pageNum","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get User Pool Ids V1 User Pool Ids  User Address   Chain  Get","type":"array","items":{"$ref":"#/components/schemas/UserPoolPosition"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Get Pool User Balances

> This API is only accessible by users with the partner API key.

```json
{"openapi":"3.0.2","info":{"title":"LFJ Dex API","version":"1.0.0"},"tags":[{"name":"User"},{"name":"User (Partners only)"}],"servers":[{"url":"https://api.lfj.dev"}],"security":[{"ApiKeyHeader":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-lfj-api-key"}},"schemas":{"PoolUserBalance":{"title":"PoolUserBalance","required":["user","balance","pool","lpTokenAddress","baseTokenBalance","quoteTokenBalance","baseTokenAddress","quoteTokenAddress"],"type":"object","properties":{"user":{"title":"User","type":"string"},"balance":{"title":"Balance","type":"string"},"pool":{"title":"Pool","type":"string"},"lpTokenAddress":{"title":"Lptokenaddress","type":"string"},"baseTokenBalance":{"title":"Basetokenbalance","type":"string"},"quoteTokenBalance":{"title":"Quotetokenbalance","type":"string"},"baseTokenAddress":{"title":"Basetokenaddress","type":"string"},"quoteTokenAddress":{"title":"Quotetokenaddress","type":"string"}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}}},"paths":{"/v1/user/pool-user-balances":{"get":{"tags":["User","User (Partners only)"],"summary":"Get Pool User Balances","description":"This API is only accessible by users with the partner API key.","operationId":"get_pool_user_balances_v1_user_pool_user_balances_get","parameters":[{"required":true,"schema":{"title":"Chainid","type":"integer"},"name":"chainId","in":"query"},{"required":true,"schema":{"title":"Lpaddress","type":"string"},"name":"lpAddress","in":"query"},{"required":true,"schema":{"title":"Pooladdress","type":"string"},"name":"poolAddress","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Pool User Balances V1 User Pool User Balances Get","type":"array","items":{"$ref":"#/components/schemas/PoolUserBalance"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## GET /v1/user/{chain}/{user\_address}/farms

> Get User Farm Positions

```json
{"openapi":"3.0.2","info":{"title":"LFJ Dex API","version":"1.0.0"},"tags":[{"name":"User"}],"servers":[{"url":"https://api.lfj.dev"}],"security":[{"ApiKeyHeader":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-lfj-api-key"}},"schemas":{"Chain":{"title":"Chain","enum":["avalanche","arbitrum","base","berachain","binance","ethereum","mantle","monad","solana","sonic"],"type":"string","description":"An enumeration."},"GetUserFarmPosition":{"title":"GetUserFarmPosition","required":["farmId","userPosition","userPositionRaw","userPositionUsd","pendingJoe"],"type":"object","properties":{"farmId":{"title":"Farmid","type":"string"},"userPosition":{"title":"Userposition","type":"string"},"userPositionRaw":{"title":"Userpositionraw","type":"string"},"userPositionUsd":{"title":"Userpositionusd","type":"string"},"pendingJoe":{"title":"Pendingjoe","type":"number"}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}}},"paths":{"/v1/user/{chain}/{user_address}/farms":{"get":{"tags":["User"],"summary":"Get User Farm Positions","operationId":"get_user_farm_positions_v1_user__chain___user_address__farms_get","parameters":[{"required":true,"schema":{"$ref":"#/components/schemas/Chain"},"name":"chain","in":"path"},{"required":true,"schema":{"title":"User Address","type":"string"},"name":"user_address","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get User Farm Positions V1 User  Chain   User Address  Farms Get","type":"array","items":{"$ref":"#/components/schemas/GetUserFarmPosition"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## GET /v1/user/{chain}/{user\_address}/farms/{vault\_id}

> Get User Farm Position

```json
{"openapi":"3.0.2","info":{"title":"LFJ Dex API","version":"1.0.0"},"tags":[{"name":"User"}],"servers":[{"url":"https://api.lfj.dev"}],"security":[{"ApiKeyHeader":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-lfj-api-key"}},"schemas":{"Chain":{"title":"Chain","enum":["avalanche","arbitrum","base","berachain","binance","ethereum","mantle","monad","solana","sonic"],"type":"string","description":"An enumeration."},"GetUserFarmPosition":{"title":"GetUserFarmPosition","required":["farmId","userPosition","userPositionRaw","userPositionUsd","pendingJoe"],"type":"object","properties":{"farmId":{"title":"Farmid","type":"string"},"userPosition":{"title":"Userposition","type":"string"},"userPositionRaw":{"title":"Userpositionraw","type":"string"},"userPositionUsd":{"title":"Userpositionusd","type":"string"},"pendingJoe":{"title":"Pendingjoe","type":"number"}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}}},"paths":{"/v1/user/{chain}/{user_address}/farms/{vault_id}":{"get":{"tags":["User"],"summary":"Get User Farm Position","operationId":"get_user_farm_position_v1_user__chain___user_address__farms__vault_id__get","parameters":[{"required":true,"schema":{"$ref":"#/components/schemas/Chain"},"name":"chain","in":"path"},{"required":true,"schema":{"title":"User Address","type":"string"},"name":"user_address","in":"path"},{"required":true,"schema":{"title":"Vault Id","type":"string"},"name":"vault_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUserFarmPosition"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## GET /v1/user/{chain}/history/{user\_address}/{pool\_address}

> User Historical Position

```json
{"openapi":"3.0.2","info":{"title":"LFJ Dex API","version":"1.0.0"},"tags":[{"name":"User"}],"servers":[{"url":"https://api.lfj.dev"}],"security":[{"ApiKeyHeader":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-lfj-api-key"}},"schemas":{"Chain":{"title":"Chain","enum":["avalanche","arbitrum","base","berachain","binance","ethereum","mantle","monad","solana","sonic"],"type":"string","description":"An enumeration."},"UserBinHistory":{"title":"UserBinHistory","required":["poolAddress","pairName","binId","lbBinStep","lbBaseFeePct","lbMaxFeePct","tokenX","tokenY","isDeposit","timestamp","blockNumber"],"type":"object","properties":{"poolAddress":{"title":"Pooladdress","type":"string"},"pairName":{"title":"Pairname","type":"string"},"binId":{"title":"Binid","type":"integer"},"lbBinStep":{"title":"Lbbinstep","type":"number"},"lbBaseFeePct":{"title":"Lbbasefeepct","type":"number"},"lbMaxFeePct":{"title":"Lbmaxfeepct","type":"number"},"tokenX":{"$ref":"#/components/schemas/UserBinPositionTokenWrapper"},"tokenY":{"$ref":"#/components/schemas/UserBinPositionTokenWrapper"},"isDeposit":{"title":"Isdeposit","type":"boolean"},"timestamp":{"title":"Timestamp","type":"string","format":"date-time"},"blockNumber":{"title":"Blocknumber","type":"integer"}}},"UserBinPositionTokenWrapper":{"title":"UserBinPositionTokenWrapper","required":["address","name","symbol","decimals","amount","amountRaw","price"],"type":"object","properties":{"address":{"title":"Address","type":"string"},"name":{"title":"Name","type":"string"},"symbol":{"title":"Symbol","type":"string"},"decimals":{"title":"Decimals","type":"integer"},"amount":{"title":"Amount","type":"number"},"amountRaw":{"title":"Amountraw","type":"string"},"price":{"title":"Price","type":"number"},"priceUsd":{"title":"Priceusd","type":"number"}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}}},"paths":{"/v1/user/{chain}/history/{user_address}/{pool_address}":{"get":{"tags":["User"],"summary":"User Historical Position","operationId":"user_historical_position_v1_user__chain__history__user_address___pool_address__get","parameters":[{"required":true,"schema":{"$ref":"#/components/schemas/Chain"},"name":"chain","in":"path"},{"required":true,"schema":{"title":"User Address","type":"string"},"name":"user_address","in":"path"},{"required":true,"schema":{"title":"Pool Address","type":"string"},"name":"pool_address","in":"path"},{"required":false,"schema":{"title":"Pagesize","maximum":100,"exclusiveMinimum":0,"type":"integer","default":20},"name":"pageSize","in":"query"},{"required":false,"schema":{"title":"Pagenum","exclusiveMinimum":0,"type":"integer","default":1},"name":"pageNum","in":"query"},{"required":true,"schema":{"title":"Starttime","type":"integer"},"name":"startTime","in":"query"},{"required":false,"schema":{"title":"Endtime","type":"integer"},"name":"endTime","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response User Historical Position V1 User  Chain  History  User Address   Pool Address  Get","type":"array","items":{"$ref":"#/components/schemas/UserBinHistory"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## GET /v1/user/fees-earned/{chain}/{user\_address}/{pool\_address}

> User Earned Fees Per Bin

```json
{"openapi":"3.0.2","info":{"title":"LFJ Dex API","version":"1.0.0"},"tags":[{"name":"User"}],"servers":[{"url":"https://api.lfj.dev"}],"security":[{"ApiKeyHeader":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-lfj-api-key"}},"schemas":{"ChainParam":{"title":"ChainParam","enum":["all","avalanche","arbitrum","mantle","monad"],"type":"string","description":"An enumeration."},"UserFeesEarnedPerBin":{"title":"UserFeesEarnedPerBin","required":["binId","mostRecentDepositTime","timestamp","accruedFeesX","accruedFeesY","accruedFeesL","priceXY","priceYX"],"type":"object","properties":{"binId":{"title":"Binid","type":"integer"},"mostRecentDepositTime":{"title":"Mostrecentdeposittime","type":"string","format":"date-time"},"timestamp":{"title":"Timestamp","type":"integer"},"accruedFeesX":{"title":"Accruedfeesx","type":"number"},"accruedFeesY":{"title":"Accruedfeesy","type":"number"},"accruedFeesL":{"title":"Accruedfeesl","type":"number"},"priceXY":{"title":"Pricexy","type":"number"},"priceYX":{"title":"Priceyx","type":"number"}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}}},"paths":{"/v1/user/fees-earned/{chain}/{user_address}/{pool_address}":{"get":{"tags":["User"],"summary":"User Earned Fees Per Bin","operationId":"user_earned_fees_per_bin_v1_user_fees_earned__chain___user_address___pool_address__get","parameters":[{"required":true,"schema":{"$ref":"#/components/schemas/ChainParam"},"name":"chain","in":"path"},{"required":true,"schema":{"title":"User Address","type":"string"},"name":"user_address","in":"path"},{"required":true,"schema":{"title":"Pool Address","type":"string"},"name":"pool_address","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response User Earned Fees Per Bin V1 User Fees Earned  Chain   User Address   Pool Address  Get","type":"array","items":{"$ref":"#/components/schemas/UserFeesEarnedPerBin"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.lfj.gg/lfj-dex-api/user.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
