Try a withdrawal before making it (free up to $1,000)
simulate_withdrawalTRY ONE WITHDRAWAL FROM A VAULT BEFORE YOU MAKE IT. Runs the vault’s own withdraw(amount, holder, holder) by eth_call at the head block, as the holder you name or, if you name none, as its largest depositor: the contract executes and nothing is signed, sent or spent. Says whether it would have gone through, the revert reason where it would not (e.g. NotEnoughLiquidity, TransferReverted past a V2 vault’s idle balance), the block, and what the holder’s position was worth; a size over what the holder owns is tried at their position and said so. It does NOT show a later block, or what happens once somebody else takes the same free money. Morpho vaults for now; anything else answers simulated: false and is not charged. FREE up to $1,000; over it PAID, $2 a simulation over x402, or free with a decision pass from this vault’s due-diligence report.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pass | No | A decision pass from this vault’s due-diligence report (its X-ASPERN-Decision-Pass header): simulations over $1,000 on that vault without paying again. | |
| vault | Yes | The vault slug, or an address we can resolve to one. `list_vaults` or `find_vaults` find a slug. | |
| holder | No | The address to withdraw as. Leave it out to try as the vault’s largest depositor. | |
| amountUsd | Yes | How much to withdraw, in US dollars. Up to 1000 is free. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | When, UTC. | |
| meta | No | How current this answer is and what it was read from: `freshness` and the ages behind it. Present on every answer from this server, whatever the tool. | |
| says | Yes | The answer in one paragraph. | |
| block | No | The block it was simulated at. | |
| price | Yes | `usd` for a paid simulation and `freeUpToUsd`. | |
| vault | Yes | The vault slug the request resolved to. | |
| holder | No | The address the withdrawal was tried as. | |
| paidBy | No | free, report-pass or this-call. | |
| reason | No | The revert reason where it would have reverted. | |
| askedUsd | No | The amount asked. | |
| holderAs | No | named or largest-depositor. | |
| triedUsd | No | The amount tried: the amount asked, or the holder’s position less 0.1% where they own less. | |
| warnings | No | Anything the server wants a caller to know about THIS answer before acting on it. Empty is the normal case and is not a guarantee. | |
| holderUsd | No | What that holder’s shares were worth at the block. | |
| simulated | Yes | Whether a withdrawal was run. False where the vault is not one we simulate, no endpoint answered, or there was no holder to try as; nothing is charged then. | |
| limitations | No | What one simulation does not show. | |
| wouldGoThrough | Yes | True if the withdrawal would have gone through at that block, false if it would have reverted, null where nothing was tried. |