Skip to main content
Morpho vaults only (withdrawalMode: "synchronous"). Sending an Upshift vault to POST /lend/withdraw returns 400. For Upshift, use Request Withdraw.
Withdraw an amount in asset units, not shares. Execute all returned calls in order, including any token approvals. Call targets may differ from the vault address. The response has no estimatedClaimDate because there is no queue or claim step. Withdrawals still depend on available liquidity.

Body Parameters

string
required
The end user’s wallet, owner and receiver.
string
required
The approved ID from discovery.
string
required
Positive integer string in USDC atomic units.
integer
required
Required integer, 0 through 9999. Explicit 0 means zero tolerance. 50 means 0.5%. The allowed maximum is not a recommendation; obtain the user’s chosen tolerance.
string
required
Required. The registered builder code for your app.
The examples use earn() and attribution from Call the API.

Response

The response is the standard batch envelope described in Execute Calls in a Wallet: version, from, chainId, and ordered calls[], plus atomicRequired and capabilities when the plan needs them. The example response shows the envelope shape for a single-call withdrawal. The call target and calldata are placeholders: use the values the API returns, which may include more than one call and a target other than the vault address.