Join Quote
POST /join-quote
Calculates LP shares received when adding liquidity to a pool, with fee breakdown and pool impact.
Request
bash
curl -X POST https://mainnet.router.ryze.pro/join-quote \
-H "Content-Type: application/json" \
-d '{
"poolAddress": "0x7B41aA91947398CD9244AD4e314C253D9B1B5206",
"tokensIn": [
{
"token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "100000000"
}
]
}'Parameters
| Field | Type | Required | Description |
|---|---|---|---|
poolAddress | string | Yes | Pool contract address |
tokensIn | array | Yes | Tokens and amounts to deposit |
tokensIn[].token | string | Yes | Token address |
tokensIn[].amount | string | Yes | Amount in raw units |
Join Type Detection
The join type is determined automatically:
| Tokens in Request | Join Type | Fees |
|---|---|---|
| 1 token | Single Join | Swap/taker/slippage/WBF fees apply |
| All pool tokens | Proportional Join | No fees |
Response (Single Join)
json
{
"routeId": "e5f6g7h8",
"joinType": "single",
"poolAddress": "0x7B41aA91947398CD9244AD4e314C253D9B1B5206",
"tokenIn": {
"token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "100000000",
"decimals": 6
},
"sharesOut": "99500000000000000000",
"tvl": "2500000000000000000000000",
"shareOfPool": "3.98",
"fees": {
"swapFee": "30000",
"takerFee": "10000",
"slippageFee": "5000",
"slippagePct": "50000000000000",
"wbfFee": "0",
"wbrReward": "0",
"wbrRewardToken": "0x0000000000000000000000000000000000000000",
"slippageToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
},
"timestamp": "2026-04-15T12:00:00Z",
"prices": [
{
"token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"pythPrice": "1000000000000000000",
"cexPrice": "1000000000000000000",
"blendFactor": "500000000000000000",
"blendedPrice": "1000000000000000000"
}
]
}Response (Proportional Join)
json
{
"routeId": "i9j0k1l2",
"joinType": "proportional",
"poolAddress": "0x7B41aA91947398CD9244AD4e314C253D9B1B5206",
"tokensIn": [
{
"token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "100000000",
"decimals": 6
},
{
"token": "0x4200000000000000000000000000000000000006",
"amount": "62500000000000000",
"decimals": 18
}
],
"sharesOut": "199000000000000000000",
"tvl": "2500000000000000000000000",
"shareOfPool": "7.96",
"fees": {
"swapFee": "0",
"takerFee": "0",
"slippageFee": "0",
"slippagePct": "0",
"wbfFee": "0",
"wbrReward": "0",
"wbrRewardToken": "0x0000000000000000000000000000000000000000",
"slippageToken": "0x0000000000000000000000000000000000000000"
},
"timestamp": "2026-04-15T12:00:00Z",
"prices": [...]
}Response Fields
| Field | Type | Description |
|---|---|---|
joinType | string | "single" or "proportional" |
tokenIn | object | Single join: the input token details |
tokensIn | array | Proportional join: all input token details |
sharesOut | string | LP tokens received (18 decimals) |
tvl | string | Pool TVL in USD (WAD) |
shareOfPool | string | Pool ownership % after join |
fees | object | Fee breakdown |
prices | array | Oracle price data |
Fee Fields
| Field | Type | Description |
|---|---|---|
swapFee | string | Base swap fee (raw amount) |
takerFee | string | Taker fee (raw amount) |
slippageFee | string | Dynamic slippage fee (raw amount) |
slippagePct | string | Slippage as WAD percentage |
wbfFee | string | Weight Breaking Fee |
wbrReward | string | Weight Breaking Reward |
wbrRewardToken | string | Token for WBR payout |
slippageToken | string | Token for slippage fee |
Errors
| Code | Reason |
|---|---|
400 | Invalid request body or token addresses |
404 | Pool not found |