OpenChainGraph Suite · ART-611 · EVM-Standard Math

ERC-7540 Async-Vault Request Accounting

ERC-7540 extends ERC-4626 for vaults that cannot settle a deposit or redemption in the same transaction, which is the normal case for institutional and real-world-asset funds. This tool recomputes the pending, claimable and claimed split from declared request state, applies a sequence of claims at the pro-rata rate the vault fixed when it made the request claimable, reports the rounding residue a run of partial claims strands, and checks the standard's own invariants one by one. Exact uint256 integer arithmetic throughout, no floating point.

ERC-7540 (Final, 2023-10-18)Exact uint256 integer mathDeclared inputs, no chain reads
๐Ÿ”’ All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data โ€” use synthetic or anonymised inputs only.
The Request Lifecycle
1. Pending
A holder calls requestDeposit or requestRedeem. The amount appears in pendingDepositRequest or pendingRedeemRequest and waits. The standard deliberately leaves the timing of what happens next unspecified.
2. Claimable
The vault fulfils the request. The amount leaves the pending view and appears in the claimable view at a fixed pro-rata rate. The two views exclude each other, so they never double-count.
3. Claimed
The holder calls deposit or mint (deposit leg) or withdraw or redeem (redeem leg) and receives the output tokens. The standard requires that a request never skips or short-circuits this state.
One Thing The Standard Leaves Open

ERC-4626 fixes a rounding direction for every one of its functions. ERC-7540 does not extend that to partial claims: it requires that all requests sharing a non-zero requestId become claimable at the same pro-rata rate, but it states no direction for rounding an individual partial claim. So the direction here is something you declare, not something this tool derives, and every claim reports what the other direction would have paid out beside what it did pay. Defaulting to rounding down follows ERC-4626's favour-the-vault reasoning, which is an inherited convention rather than a requirement of ERC-7540. What this tool cannot tell you: whether the amounts you typed match any deployed vault, when or whether a pending request will actually be fulfilled, whether the controller is authorised, or whether a claim transaction would succeed.

Request State
Zero is the standard's aggregate convention: the vault discriminates purely by controller and amounts are fungible across that controller's requests. A non-zero id is a discrete request that must hold one pro-rata rate.
Deposit Leg (requested in assets, claimed as shares)
The two claimable fields are a pair: together they fix the rate the vault made the request claimable at, so they must be both zero or both non-zero.
Redeem Leg (requested in shares, claimed as assets)
Both are carried into the receipt verbatim for your own records. Neither selects any behaviour.
Claims To Apply
unit is requested (deposit: assets, redeem: shares) or received (deposit: shares, redeem: assets), matching the standard's four claim overloads. A claim beyond what remains claimable is rejected rather than silently clamped.
Claims
Opening and Closing State
Rounding Residue
Invariants Checked
Execution Hash (SHA-256)