> For the complete documentation index, see [llms.txt](https://developers.lfj.gg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.lfj.gg/lfj-dex-api/user.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
