lsodaWEETH) and exit via the solver. A deposit or withdraw is an intent-based swap under the hood; this is the vault-shaped HTTP surface.
Every route on this page is live on production (
https://api.sodax.com). The SDK leverage yield
module remains the
recommended path for product integrations — it handles the intent, relay and settlement lifecycle
for you — but the HTTP surface is fully available if you need it directly.Base URL
https://canary-api.sodax.com/v1/leverage-yield.
Same conventions as Swaps: decimal strings, unauthenticated reads, rate-limited writes on submit-tx.
Endpoint catalog
Vault registry
Vault reads
Query params typically include vault address/name and owner where relevant (see OpenAPI / SDK mapping for exact names).
Quote · deadline
Vault share tokens (
lsoda*) are solver-tradeable. The vault-share side of a quote is always on the Sonic hub.
Deposit / withdraw intents
Shared intent lifecycle (mirrors Swaps)
POST /submit-tx accepts the same core fields as swaps plus an operation discriminator:
(Plain swaps use
"swap" on the shared queue; leverage endpoints set deposit/withdraw.)
GET /submit-tx/status echoes the queued row’s discriminator as data.operation — leverage_deposit / leverage_withdraw here, swap for a plain swap — so one poller can tell the three apart.
Status lifecycle is the same as Swaps submit-tx:
Mental model
- Shares are ERC-4626-style on the hub; cross-network entry uses the same intent rails as swaps.
- Spoke deposit approval goes through the swap-domain allowance/approve endpoints above (not hub-vault approve).
- Hub-side vault allowance helpers exist on the SDK (
sodax.leverageYield.approve/isAllowanceValid) for direct hub flows.
Partner fees
Same shapes as swaps: fixedamount or percentage (basis points).
For TypeScript product integrations, use the SDK so you can set your own fee in both directions. On raw HTTP, only deposit requests currently accept
partnerFee. The backend rejects unknown body fields, so a partnerFee on a withdraw request fails the request instead of being ignored.
Vault fees use the leverage-yield fee path (leverageYield.partnerFee / per-intent override), not swaps.partnerFee.
Recommended partner paths
Example: list vaults
Effective APR
For product UI that needs the levered yield figure, prefer:GET /apr/effectiveon this API, or- SDK
getEffectiveApr/ the Effective APR page
Ray are RAY (1e27 = 100%). targetLtvBps and the /position ltv are basis points (10000 = 100%). healthFactor and leverageMultiplierWad are WAD (1e18). leverageMultiplierWad is the borrowed multiple, targetLTV / (1 − targetLTV), so the exposure a depositor holds is 1 + that value.
Relation to Swaps API
If you already integrated Swaps submit-tx, reuse the same polling, cancel-to-recover, and failure-field handling here.
See also
- Swaps API
- Stats — protocol volume, not vault-specific
- Oracle — asset charts
- Leverage yield (SDK)