Skip to content

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": "0x22f902cEfcF8b0bEc6489Cb8ac11FdDa9B2aF125",
    "tokensIn": [
      {
        "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "amount": "100000000"
      }
    ]
  }'

Parameters ​

FieldTypeRequiredDescription
poolAddressstringYesPool contract address
tokensInarrayYesTokens and amounts to deposit
tokensIn[].tokenstringYesToken address
tokensIn[].amountstringYesAmount in raw units

Join Type Detection ​

The join type is determined automatically:

Tokens in RequestJoin TypeFees
1 tokenSingle JoinSwap/taker/slippage/WBF fees apply
All pool tokensProportional JoinNo fees

Response (Single Join) ​

json
{
  "routeId": "e5f6g7h8",
  "joinType": "single",
  "poolAddress": "0x22f902cEfcF8b0bEc6489Cb8ac11FdDa9B2aF125",
  "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": "0x22f902cEfcF8b0bEc6489Cb8ac11FdDa9B2aF125",
  "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 ​

FieldTypeDescription
joinTypestring"single" or "proportional"
tokenInobjectSingle join: the input token details
tokensInarrayProportional join: all input token details
sharesOutstringLP tokens received (18 decimals)
tvlstringPool TVL in USD (WAD)
shareOfPoolstringPool ownership % after join
feesobjectFee breakdown
pricesarrayOracle price data

Fee Fields ​

FieldTypeDescription
swapFeestringBase swap fee (raw amount)
takerFeestringTaker fee (raw amount)
slippageFeestringDynamic slippage fee (raw amount)
slippagePctstringSlippage as WAD percentage
wbfFeestringWeight Breaking Fee
wbrRewardstringWeight Breaking Reward
wbrRewardTokenstringToken for WBR payout
slippageTokenstringToken for slippage fee

Errors ​

CodeReason
400Invalid request body or token addresses
404Pool not found