userAddress parameter).
Supported assets:
- USDC (default): 6 decimals
- WETH: 18 decimals
- EURC: 6 decimals (Mainnet and Base)
- NVDAc: 8 decimals (Base only) — always a delayed withdrawal, see below
Delayed withdrawals (yieldmaxxing strategy)
Positions held in protocols with asynchronous withdrawals (Ipor, Superform)
cannot be exited on demand. Every NVDAc withdrawal falls in this case,
since those two protocols are the only ones holding it. For those the backend sends the immediately
available portion straight away, then queues a redemption for the rest and
forwards the funds to the EOA once the protocol releases them (roughly a day on Ipor, three on Superform).
The user has nothing else to call, but withdrawFunds returns as soon as the
immediate portion is sent, so its txHash does not cover the whole amount. When every source is an async pool, nothing settles on-chain at that point
and txHash is undefined on a successful call. Treat it as optional and
track the remainder through
getPortfolio:
portfolioByAssetType while in flight, so validate
user-entered amounts against that field rather than the total balance. Read
Computing the total balance
before showing any balance to the user.
Signature
Parameters
Returns
Withdraw response with status messageReturn Type
Example
Withdraw USDC (default)
Withdraw WETH
Withdraw EURC
Withdraw NVDAc
Always delayed, and only one redemption can be in flight per pool. IfpendingAsyncWithdrawals already has a REQUESTED or CLAIMABLE entry for
NVDAc, do not call withdrawFunds again — it throws.