Withdraw funds
Redeem vault shares and return assets — plus any accrued yield — to the wallet using the withdraw endpoint. The returnedamount reflects the original deposit plus yield earned.
Partial and full withdrawals
Your app can withdraw any amount up to the wallet’s currentassets_in_vault balance. To withdraw everything, query the wallet’s position first and pass the full assets_in_vault value as the raw_amount.
Because yield accrues continuously, the redeemable balance may be slightly higher at withdrawal time than when the position was last queried.
Liquidity considerations
Withdrawals depend on available liquidity in the underlying vault. If the vault’s lending markets are fully utilized, a withdrawal may partially fill or fail. Your app should check the vault’savailable_liquidity_usd from the get vault details endpoint before initiating large withdrawals.
Usage
- REST API
To withdraw funds via REST API, make a
POST request to:Parameters
The unique identifier for the vault.
Human-readable decimal amount to withdraw (e.g.
"1.5" for 1.5 USDC). Exactly one of amount or raw_amount must be provided.Amount to withdraw in the token’s smallest unit (e.g.
"1500000" for 1.5 USDC with 6 decimals). Exactly one of amount or raw_amount must be provided.Wallets with
owner_id present must provide an authorization
signature as a request header for withdraw operations.Returns
The wallet action ID. Use this to poll status with get wallet action.
The ID of the wallet receiving the withdrawn funds.
The action type. Always
"earn_withdraw" for this endpoint.The current status of the withdrawal action.
CAIP-2 chain identifier for the withdrawal (e.g.
"eip155:8453").The ID of the vault being withdrawn from.
The ERC-4626 vault contract address.
The address of the underlying asset token.
Amount withdrawn in the token’s smallest unit.
Human-readable decimal amount (e.g.
"1.5"). Only present when the token is known in the asset registry.Asset identifier (e.g.
"usdc"). Only present when the token is known in the asset registry.Number of decimals for the underlying asset. Only present when the token is known in the asset registry.
Vault shares redeemed in base units.
null until the action succeeds.ISO 8601 timestamp of when the action was created.
The execution steps. Only returned if
?include=steps is provided on a GET request.Example
Example response
Claim reward incentives
Some vaults distribute additional token incentives on top of base yield. Collect these with the claim endpoint. Claims operate at the chain level — pass a chain name rather than a vault ID. For apps with multiple vaults on the same chain, a single claim collects rewards across all vaults.Usage
- REST API
To claim rewards via REST API, make a
POST request to:Parameters
The blockchain network on which to perform the incentive claim (e.g.
"base", "ethereum", "arbitrum"). Claims collect rewards across all vaults on the specified chain.Wallets with
owner_id present must provide an authorization
signature as a request header for claim operations.Returns
The wallet action ID. Use this to poll status with get wallet action.
The ID of the wallet claiming rewards.
The action type. Always
"earn_incentive_claim" for this endpoint.The current status of the claim action.
The chain name for the claim.
List of rewards claimed, each with
token_address, token_symbol, and amount. Populated after the preparation step fetches claimable rewards.ISO 8601 timestamp of when the action was created.
The execution steps. Only returned if
?include=steps is provided on a GET request.Example
Example response
Claiming rewards is separate from withdrawing yield. To realize deposit earnings, use the
withdraw endpoint. Claiming does not affect withdrawals or
ongoing earnings.
Next steps
Setup
Deploy a fee wrapper and configure a vault.
Deposit funds
Deposit assets from a wallet into a yield vault.
Manage positions
Query vault positions and track activity with webhooks.

