Skip to main content
Deposit into looped LST strategies (e.g. 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

Canary: 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.) 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: fixed amount or percentage (basis points). For TypeScript product integrations, use the SDK so both directions can monetize. On raw HTTP, only deposit requests currently accept partnerFee; a withdraw body field would be ignored / rejected until the backend DTOs catch up. Vault fees use the leverage-yield fee path (leverageYield.partnerFee / per-intent override), not swaps.partnerFee.

Example: list vaults

Example descriptor fields (shape can grow; treat as illustrative):

Effective APR

For product UI that needs the levered yield figure, prefer:
  • GET /apr/effective on this API, or
  • SDK getEffectiveApr / the Effective APR page
Do not invent multipliers client-side unless you reimplement the same formula.

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