Use this file to discover all available pages before exploring further.
Redeem vault shares and return assets — plus any accrued yield — to the wallet using the withdraw endpoint. The returned amount reflects the original deposit plus yield earned.
View the full API reference for the withdraw endpoint.
If your app has gas sponsorship configured, usage of the /earn/ethereum/withdraw endpoint will
be gas-sponsored by default. There is no need to
specify additional parameters for sponsorship.
Your app can withdraw any amount up to the wallet’s current assets_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.
For a full withdrawal, your app can read the wallet’s assets_in_vault from the position endpoint
and pass that value directly. Any additional yield accrued between the query and the withdrawal
will remain in the vault as residual shares.
Withdrawals depend on available liquidity in the underlying vault. Your app should check the vault’s available_liquidity_usd from the get vault details endpoint before initiating large withdrawals.
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.
The method returns an EarnIncentiveClaimActionResponse with the pending wallet action. Claims operate at the chain level and collect rewards across all vaults on the specified chain.
To claim rewards via REST API, make a POST request to:
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.
A rejected status means the action failed before any transaction was signed or broadcast — for
example, due to insufficient balance or a policy violation. Your app can safely retry the request.
A failed status means a transaction was broadcast but reverted onchain. Inspect the action’s
steps for details.