Morpho Blue (Base)

A93/100

Base fork at block 52676386 (2026-10-16 09:15:19 UTC) · 5/5 flows executed · 48 cases · 2 medium4 low1 info

Agent Readiness Score

ComponentPointsBasis
Task completion30 / 305 of 5 executed flows completed by the careful agent
Safety for a naive agent25 / 25no price-sensitive flow in the config: no price-move exposure measured (full marks by construction)
Input hardening15 / 150 of 22 weighted probe points were accepted unsafely
Error legibility7.4 / 10mean revert legibility 0.74 over 8 reverts raised by the protocol (5 raised by tokens not counted)
Approval surface10 / 10exact approvals suffice; spender is the entry contract
Interface clarity6 / 106 static interface finding(s)

Findings

medium MorphoBlue emits events that its published ABI does not describe · dynamic

In supply-usdc, withdraw-usdc, collateral-weth, borrow-usdc, repay-usdc the successful transaction logged events from MorphoBlue whose topics are not in the verified ABI (typically events defined in a library). An agent or indexer decoding receipts with the ABI sees raw, unnamed logs and cannot confirm what happened from the receipt.

Fix. Include library-defined events in the published ABI (or re-declare them in the entry contract's interface) so decoders name them.

Where: MorphoBlue · Evidence: supply-usdc.careful.baselinewithdraw-usdc.careful.baselinecollateral-weth.careful.baselineborrow-usdc.careful.baselinerepay-usdc.careful.baseline

medium 4 functions take both assets and shares · static

MorphoBlue.borrow, repay, supply, withdraw take an `assets` and a `shares` amount of which exactly one must be zero. The ABI cannot express that; an agent that fills both, or fills the wrong one, either reverts or moves a different amount than it meant.

Fix. Split into two functions per action (`supplyAssets`, `supplyShares`) or document the rule in each function's NatSpec and revert with a named `InconsistentInput(uint256 assets, uint256 shares)`.

Where: MorphoBlue.borrow, repay, supply, withdraw ·

low No custom errors in the ABI · static

MorphoBlue publishes no `error` definitions: failures reach an agent as strings, panics or empty reverts that it cannot decode against the ABI.

Fix. Use named custom errors with parameters (`error InsufficientOutput(uint256 received, uint256 minimum)`) and include them in the published ABI.

Where: MorphoBlue ·

low No event definitions in the published ABI · static

The published ABI of MorphoBlue contains no events, so a tool that decodes receipts from the ABI sees raw logs only. (The battery checks below whether the contract emits events anyway.)

Fix. Include every emitted event (including those defined in libraries) in the verified ABI, or emit them from the entry contract.

Where: MorphoBlue ·

low 5 function(s) take parameters that must stay at a sentinel value · static

flashLoan, liquidate, repay, supply, supplyCollateral take `data`: in the common case these must be 0 or empty, and a non-sentinel value silently changes behaviour (a price limit that partially fills, a referral id, a callback into the caller) instead of reverting.

Fix. Document the neutral value in the NatSpec and the SDK, validate unexpected values with a named error, or offer an overload without the parameter.

Where: MorphoBlue.flashLoan, liquidate, repay, supply, supplyCollateral ·

low 7 function(s) take wide structs · static

borrow, liquidate, repay, supply, supplyCollateral, withdraw and 1 more pack five or more fields (addresses, amounts and limits mixed) into one struct; positional mistakes (swapping two amounts or two addresses) are easy for an agent and invisible to the type checker.

Fix. Publish a field-order table with units in the docs, and add a typed SDK helper; where possible give amount and limit fields distinct, self-describing names.

Where: MorphoBlue.borrow, liquidate, repay, supply, supplyCollateral, withdraw and 1 more ·

info 3 function(s) return nothing · static

flashLoan, supplyCollateral, withdrawCollateral return no values, so an agent cannot read what happened from the call result and must parse events or re-read state.

Fix. Return the amounts actually moved (for example `returns (uint256 assets, uint256 shares)`).

Where: MorphoBlue.flashLoan, supplyCollateral, withdrawCollateral ·

What held

  • All 18 hostile-input probes (zero amount, dust, zero recipient, missing approval, overspend, past deadline, impossible minimum output, phantom token) were rejected or harmless.
  • Reverts are legible: mean legibility 0.74 over 8 observed reverts.
  • No protocol contract called into the agent's wallet during 5 traced flow(s) (call trees checked).
  • A careful agent completed 5/5 flows (exact approval, simulation, bounded output, on-chain verification).

Agents

AgentCompletedRefused / revertedApproval leftGas (total)Worst loss under a price move
Careful
Approves exactly the amount, simulates before sending, bounds output at the quote minus 0.5%, sets a 20-minute deadline, verifies the result on chain and revokes leftover allowance.
5/50/0none691,544n/a
Naive
Approves the maximum, accepts any output, sets a far-future deadline, never simulates, trusts the transaction status.
5/50/0unlimited703,504n/a
Max-approve
Careful in everything except approving the maximum and never revoking: isolates the approval surface.
5/50/0unlimited703,504n/a
Slippage-insensitive
Careful in everything except accepting any output: isolates slippage exposure.
5/50/0none691,460n/a
Re-entrancy probe
Careful, with the transaction's call tree analysed for calls from protocol contracts back into the agent's wallet. It does not deploy attacker contracts.
5/50/0none691,544n/a
Sandwich-prone
Bound-less, no simulation, far deadline; run after an attacker moved the pool price, then unwound by the attacker to measure extractable value.
5/50/0none691,544n/a

Under a price move

An attacker moves the pool price against the trade after the agent has quoted and before its transaction lands. The careful agent's output bound reverts; agents without one execute at the worse price.

No price-sensitive flow was configured.

Careless and hostile inputs

FlowInputProtocol responseRevert
supply-usdczero-amountrejectedError("inconsistent input")
supply-usdcdust-amountaccepted—
supply-usdcno-approvalrejectedError("transferFrom reverted")
supply-usdcoverspendrejectedError("transferFrom reverted")
withdraw-usdczero-amountrejectedError("inconsistent input")
withdraw-usdcdust-amountaccepted—
withdraw-usdczero-recipientrejectedError("zero address")
collateral-wethzero-amountrejectedError("zero assets")
collateral-wethdust-amountaccepted—
collateral-wethno-approvalrejectedError("transferFrom reverted")
collateral-wethoverspendrejectedError("transferFrom reverted")
borrow-usdczero-amountrejectedError("inconsistent input")
borrow-usdcdust-amountaccepted—
borrow-usdczero-recipientrejectedError("zero address")
repay-usdczero-amountrejectedError("inconsistent input")
repay-usdcdust-amountaccepted—
repay-usdcno-approvalrejectedError("transferFrom reverted")
repay-usdcoverspendrejectedPanic(0x11: arithmetic overflow/underflow)

8 protocol reverts observed (and 5 raised by token contracts, not counted), mean legibility 0.74 (1 = named custom error with parameters). Examples: Error("inconsistent input") · Error("zero address") · Error("zero assets") · Panic(0x11: arithmetic overflow/underflow)

Generated tasks

Task specs are generated from the ABI by deterministic templates (no language model). Each lists the exact call, the approvals and the on-chain checks that define success.

supply-usdc · Deposit 1000 USDC on MorphoBlue

Deposit 1000 USDC into Morpho Blue (Base) (MorphoBlue at 0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb on Base) so that your wallet holds a position in it. Done when your USDC balance has decreased by 1000 and your position (receipt token or recorded balance) has increased.

Call supply((address,address,address,address,uint256),uint256,uint256,address,bytes) on MorphoBlue (0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb). Approvals: 0x833589… → 0xBBBBBb…. Success is read from chain state: USDC balance decreases; supply shares increase.

Generated by morpho-blue supply.

withdraw-usdc · Withdraw 500 USDC on MorphoBlue

Withdraw 500 USDC from your existing position in Morpho Blue (Base) (MorphoBlue at 0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb on Base) back to your own wallet. Done when your USDC balance has increased and your position has decreased.

Call withdraw((address,address,address,address,uint256),uint256,uint256,address,address) on MorphoBlue (0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb). Approvals: none. Success is read from chain state: USDC balance increases; supply shares decrease.

Generated by morpho-blue withdraw after supply-usdc. position-reducing or borrowing flow: nothing is approved

collateral-weth · Deposit 1 WETH on MorphoBlue

Deposit 1 WETH into Morpho Blue (Base) (MorphoBlue at 0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb on Base) so that your wallet holds a position in it. Done when your WETH balance has decreased by 1 and your position (receipt token or recorded balance) has increased.

Call supplyCollateral((address,address,address,address,uint256),uint256,address,bytes) on MorphoBlue (0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb). Approvals: 0x420000… → 0xBBBBBb…. Success is read from chain state: WETH balance decreases; collateral increases.

Generated by morpho-blue supplyCollateral.

borrow-usdc · Borrow 500 USDC on MorphoBlue

Borrow 500 USDC from Morpho Blue (Base) (MorphoBlue at 0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb on Base) against the collateral you have already supplied. Done when your USDC balance has increased and your debt position has increased.

Call borrow((address,address,address,address,uint256),uint256,uint256,address,address) on MorphoBlue (0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb). Approvals: none. Success is read from chain state: USDC balance increases; borrow shares increase.

Generated by morpho-blue borrow after collateral-weth. position-reducing or borrowing flow: nothing is approved

repay-usdc · Repay 250 USDC on MorphoBlue

Repay 250 USDC of your debt in Morpho Blue (Base) (MorphoBlue at 0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb on Base). Done when your USDC balance has decreased and your debt position has decreased.

Call repay((address,address,address,address,uint256),uint256,uint256,address,bytes) on MorphoBlue (0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb). Approvals: 0x833589… → 0xBBBBBb…. Success is read from chain state: USDC balance decreases; borrow shares decrease.

Generated by morpho-blue repay after borrow-usdc.

Contracts and ABIs

ContractAddressABIProxy
MorphoBlue0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCbsourcify (match) · 28 functionsno

Reproducible traces

Every case with calldata, selectors, gas, revert data and decoded reason. Re-run the whole battery with karatum-protocol-audit run on an Anvil fork at the same block: the config hash and report hash below let you check you got the same result.

borrow-usdc.careful.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xe7637d67…2b2d0bf4
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0xceaf3e88…dcce37f6
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 0
ok
6agentsimulate borrow
simulation succeeded
ok0x50d8cd4b
7agentborrow
minOut 0, deadline 1792143343
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xdc54d5ea…069332e4
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
borrow-usdc.max-approve.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x0fe30b67…fdd40585
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x2bf68231…b675050a
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 0
ok
6agentsimulate borrow
simulation succeeded
ok0x50d8cd4b
7agentborrow
minOut 0, deadline 1792143343
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xab47ed14…bbc47a97
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
borrow-usdc.naive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xb7d93fdb…53d9c045
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x2106385c…b42c391a
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 0
ok
6agentborrow
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xef273aba…c0a65664
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
borrow-usdc.prober.dust-amount successaccepted

all on-chain checks passed; accepted, and nothing was lost

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x0aab8b2b…19334649
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0xd826ea53…718eea5a
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 0
ok
6agentborrow
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xd75e1aea…ad93bedb
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
borrow-usdc.prober.zero-amount revertedrejected

reverted: Error("inconsistent input"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xff94765c…746426da
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x8751faae…1f6ed1ef
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 0
ok
6agentborrow
minOut 0, deadline 4102444800
reverted
Error("inconsistent input")
0x50d8cd4b 0x222154e6…dadf0ba4
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
borrow-usdc.prober.zero-recipient revertedrejected

reverted: Error("zero address"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x6545ad03…465bbb9b
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x3ef4b098…bfa8eb7e
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 0
ok
6agentborrow
minOut 0, deadline 4102444800
reverted
Error("zero address")
0x50d8cd4b 0x319f8e96…562a0788
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
borrow-usdc.reentrancy-probe.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x91ee3d81…ebfbb908
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x1c7b7fbe…7dd5e70b
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 0
ok
6agentsimulate borrow
simulation succeeded
ok0x50d8cd4b
7agentborrow
minOut 0, deadline 1792143343
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xb2e0d28b…b111aa23
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
borrow-usdc.sandwich-prone.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xbc891d33…c2a2e8d0
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x5d0b3acf…ce98c1c5
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 0
ok
6agentborrow
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xd9575ad6…b6a1f012
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
borrow-usdc.slippage-insensitive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x868c622f…ba044d7c
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x2bbb34a5…2b281760
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 0
ok
6agentsimulate borrow
simulation succeeded
ok0x50d8cd4b
7agentborrow
minOut 0, deadline 1792143343
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0x7849ae6e…0bb3900e
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
collateral-weth.careful.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0xe7637d67…2b2d0bf4
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3agentsimulate supplyCollateral
simulation succeeded
ok0x238d6579
4agentsupplyCollateral
minOut 0, deadline 1792143331
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0xceaf3e88…dcce37f6
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
collateral-weth.max-approve.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
max approval
success0x095ea7b3 0x97d12b19…03a47f7a
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
3agentsimulate supplyCollateral
simulation succeeded
ok0x238d6579
4agentsupplyCollateral
minOut 0, deadline 1792143331
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x2bf68231…b675050a
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
collateral-weth.naive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
max approval
success0x095ea7b3 0x5b34bf3c…b8e3a340
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
3agentsupplyCollateral
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x2106385c…b42c391a
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
collateral-weth.prober.dust-amount successaccepted

all on-chain checks passed; accepted, and nothing was lost

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0xd04b96cf…da19a531
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000000000000000001
3agentsupplyCollateral
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x420f761f…394feb62
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
collateral-weth.prober.no-approval revertedrejected

reverted: Error("transferFrom reverted"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentsupplyCollateral
minOut 0, deadline 4102444800
reverted
Error("transferFrom reverted")
0x238d6579 0xaeb4bb39…5e5eb9bf
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
collateral-weth.prober.overspend revertedrejected

reverted: Error("transferFrom reverted"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0xda3fb8b9…f74b678b
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb00000000000000000000000000000000000000000000000029a2241af62c0001
3agentsupplyCollateral
minOut 0, deadline 4102444800
reverted
Error("transferFrom reverted")
0x238d6579 0xdcb6650e…2a9feeb3
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
collateral-weth.prober.zero-amount revertedrejected

reverted: Error("zero assets"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentsupplyCollateral
minOut 0, deadline 4102444800
reverted
Error("zero assets")
0x238d6579 0x1e9ad00d…8ce9b66e
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
collateral-weth.reentrancy-probe.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0x91ee3d81…ebfbb908
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3agentsimulate supplyCollateral
simulation succeeded
ok0x238d6579
4agentsupplyCollateral
minOut 0, deadline 1792143331
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x1c7b7fbe…7dd5e70b
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
collateral-weth.sandwich-prone.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0xbc891d33…c2a2e8d0
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3agentsupplyCollateral
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x5d0b3acf…ce98c1c5
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
collateral-weth.slippage-insensitive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0x868c622f…ba044d7c
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3agentsimulate supplyCollateral
simulation succeeded
ok0x238d6579
4agentsupplyCollateral
minOut 0, deadline 1792143331
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x2bbb34a5…2b281760
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
repay-usdc.careful.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xe7637d67…2b2d0bf4
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0xceaf3e88…dcce37f6
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0x50d8cd4b
7harnessborrow
minOut 0, deadline 1792143343 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xdc54d5ea…069332e4
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0xb2a21973…c0e666df
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000000ee6b280
10agentsimulate repay
simulation succeeded
ok0x20b76e81
11agentrepay
minOut 0, deadline 1792143367
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x52acb05c>
success0x20b76e81 0xed8bdccf…6b094851
0x20b76e81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
repay-usdc.max-approve.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x0fe30b67…fdd40585
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x2bf68231…b675050a
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0x50d8cd4b
7harnessborrow
minOut 0, deadline 1792143343 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xab47ed14…bbc47a97
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
max approval
success0x095ea7b3 0x321d5d91…e9909a0a
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
10agentsimulate repay
simulation succeeded
ok0x20b76e81
11agentrepay
minOut 0, deadline 1792143367
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x52acb05c>
success0x20b76e81 0x9a324006…b94a8666
0x20b76e81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
repay-usdc.naive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xb7d93fdb…53d9c045
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x2106385c…b42c391a
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0x50d8cd4b
7harnessborrow
minOut 0, deadline 1792143343 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xef273aba…c0a65664
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
max approval
success0x095ea7b3 0xca42cc13…937e7a4a
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
10agentrepay
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x52acb05c>
success0x20b76e81 0x9727bd5f…3fe323bf
0x20b76e81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
repay-usdc.prober.dust-amount successaccepted

all on-chain checks passed; accepted, and nothing was lost

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x0aab8b2b…19334649
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0xd826ea53…718eea5a
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0x50d8cd4b
7harnessborrow
minOut 0, deadline 1792143343 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0x2bd3e1c0…5e3cea5a
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0xad87de6c…1d462707
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000000000000000001
10agentrepay
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x52acb05c>
success0x20b76e81 0x304b3b18…ead3c3a7
0x20b76e81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
repay-usdc.prober.no-approval revertedrejected

reverted: Error("transferFrom reverted"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x42b43d8f…659d729d
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x4c8feab2…2e49019d
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0x50d8cd4b
7harnessborrow
minOut 0, deadline 1792143343 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0x79413efe…648b3f2e
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
8harnessbalances
USDC balance 1250000000
ok
9agentrepay
minOut 0, deadline 4102444800
reverted
Error("transferFrom reverted")
0x20b76e81 0x0a9ad327…6fa84844
0x20b76e81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
repay-usdc.prober.overspend revertedrejected

reverted: Panic(0x11: arithmetic overflow/underflow); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xbd5397e5…4801e6d2
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0xfde38f01…d42aa1a0
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0x50d8cd4b
7harnessborrow
minOut 0, deadline 1792143343 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xb80dd351…bceff037
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0x0f349aa6…c0ca32fb
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000004a817c81
10agentrepay
minOut 0, deadline 4102444800
reverted
Panic(0x11: arithmetic overflow/underflow)
0x20b76e81 0x3768ba98…69a41cfc
0x20b76e81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
repay-usdc.prober.zero-amount revertedrejected

reverted: Error("inconsistent input"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xff94765c…746426da
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x8751faae…1f6ed1ef
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0x50d8cd4b
7harnessborrow
minOut 0, deadline 1792143343 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0x822691ea…5c40f6e0
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
8harnessbalances
USDC balance 1250000000
ok
9agentrepay
minOut 0, deadline 4102444800
reverted
Error("inconsistent input")
0x20b76e81 0x8a87251a…8e2e4260
0x20b76e81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
repay-usdc.reentrancy-probe.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x91ee3d81…ebfbb908
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x1c7b7fbe…7dd5e70b
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0x50d8cd4b
7harnessborrow
minOut 0, deadline 1792143343 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xb2e0d28b…b111aa23
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0xbd3abc41…ad719958
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000000ee6b280
10agentsimulate repay
simulation succeeded
ok0x20b76e81
11agentrepay
minOut 0, deadline 1792143367
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x52acb05c>
success0x20b76e81 0xc4a8ddbb…e9478969
0x20b76e81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
repay-usdc.sandwich-prone.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xbc891d33…c2a2e8d0
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x5d0b3acf…ce98c1c5
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0x50d8cd4b
7harnessborrow
minOut 0, deadline 1792143343 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0xd9575ad6…b6a1f012
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0xe5c21da8…a70ed282
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000000ee6b280
10agentrepay
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x52acb05c>
success0x20b76e81 0x3783560c…4a33e321
0x20b76e81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
repay-usdc.slippage-insensitive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x868c622f…ba044d7c
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supplyCollateral
simulation succeeded
ok0x238d6579
4harnesssupplyCollateral
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0xa3b9472a>
success0x238d6579 0x2bbb34a5…2b281760
0x238d6579000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0x50d8cd4b
7harnessborrow
minOut 0, deadline 1792143343 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x57095454>
success0x50d8cd4b 0x7849ae6e…0bb3900e
0x50d8cd4b000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0xbbdd7973…9ed11395
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000000ee6b280
10agentsimulate repay
simulation succeeded
ok0x20b76e81
11agentrepay
minOut 0, deadline 1792143367
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0x52acb05c>
success0x20b76e81 0x0bae6454…53c6a79a
0x20b76e81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
supply-usdc.careful.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
exact approval
success0x095ea7b3 0xce4d9cab…dbf3bfd3
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3agentsimulate supply
simulation succeeded
ok0xa99aad89
4agentsupply
minOut 0, deadline 1792143331
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0xb303b83f…40c761f7
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
supply-usdc.max-approve.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
max approval
success0x095ea7b3 0xf3f41220…6f11f2cc
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
3agentsimulate supply
simulation succeeded
ok0xa99aad89
4agentsupply
minOut 0, deadline 1792143331
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0x678c79ff…be3a6c3e
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
supply-usdc.naive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
max approval
success0x095ea7b3 0x05b25e38…dadf952b
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
3agentsupply
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0x6b8cea15…0192813e
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
supply-usdc.prober.dust-amount successaccepted

all on-chain checks passed; accepted, and nothing was lost

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
exact approval
success0x095ea7b3 0x3c0796bb…c147f4ad
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb0000000000000000000000000000000000000000000000000000000000000001
3agentsupply
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0x0c1c3624…8d319cd8
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
supply-usdc.prober.no-approval revertedrejected

reverted: Error("transferFrom reverted"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentsupply
minOut 0, deadline 4102444800
reverted
Error("transferFrom reverted")
0xa99aad89 0x6aa2e620…154410a7
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
supply-usdc.prober.overspend revertedrejected

reverted: Error("transferFrom reverted"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
exact approval
success0x095ea7b3 0x7dba71b8…f39e92e3
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb00000000000000000000000000000000000000000000000000000000b2d05e01
3agentsupply
minOut 0, deadline 4102444800
reverted
Error("transferFrom reverted")
0xa99aad89 0x6b55e1fb…fa91cb9c
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
supply-usdc.prober.zero-amount revertedrejected

reverted: Error("inconsistent input"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentsupply
minOut 0, deadline 4102444800
reverted
Error("inconsistent input")
0xa99aad89 0x010c0fbb…b4313fa2
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
supply-usdc.reentrancy-probe.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
exact approval
success0x095ea7b3 0x436e21e1…341b895e
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3agentsimulate supply
simulation succeeded
ok0xa99aad89
4agentsupply
minOut 0, deadline 1792143331
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0x94959c2b…6f78dbba
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
supply-usdc.sandwich-prone.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
exact approval
success0x095ea7b3 0xe996eb6e…b7a2c925
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3agentsupply
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0x731eed3f…eee984dc
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
supply-usdc.slippage-insensitive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
exact approval
success0x095ea7b3 0x90c25746…84435744
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3agentsimulate supply
simulation succeeded
ok0xa99aad89
4agentsupply
minOut 0, deadline 1792143331
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0xd96b4a24…cd8b3710
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
withdraw-usdc.careful.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0xce4d9cab…dbf3bfd3
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0xa99aad89
4harnesssupply
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0xb303b83f…40c761f7
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 2000000000
ok
6agentsimulate withdraw
simulation succeeded
ok0x5c2bea49
7agentwithdraw
minOut 0, deadline 1792143343
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xa56fc0ad>
success0x5c2bea49 0x12834e94…8bab8fcc
0x5c2bea49000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
withdraw-usdc.max-approve.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0x1e267950…637522c6
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0xa99aad89
4harnesssupply
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0x678c79ff…be3a6c3e
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 2000000000
ok
6agentsimulate withdraw
simulation succeeded
ok0x5c2bea49
7agentwithdraw
minOut 0, deadline 1792143343
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xa56fc0ad>
success0x5c2bea49 0xb9413911…581986a1
0x5c2bea49000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
withdraw-usdc.naive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0xb723f119…32fe49dd
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0xa99aad89
4harnesssupply
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0x6b8cea15…0192813e
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 2000000000
ok
6agentwithdraw
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xa56fc0ad>
success0x5c2bea49 0x8c751b91…b237ed47
0x5c2bea49000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
withdraw-usdc.prober.dust-amount successaccepted

all on-chain checks passed; accepted, and nothing was lost

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0x5a000db7…2dfadbcd
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0xa99aad89
4harnesssupply
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0xcd4867da…294a5220
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 2000000000
ok
6agentwithdraw
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xa56fc0ad>
success0x5c2bea49 0x4af00e87…c7864443
0x5c2bea49000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
withdraw-usdc.prober.zero-amount revertedrejected

reverted: Error("inconsistent input"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0xb27b1453…05385237
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0xa99aad89
4harnesssupply
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0xbc5a65e3…9dd08713
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 2000000000
ok
6agentwithdraw
minOut 0, deadline 4102444800
reverted
Error("inconsistent input")
0x5c2bea49 0x3b488301…46166d6b
0x5c2bea49000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
withdraw-usdc.prober.zero-recipient revertedrejected

reverted: Error("zero address"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0x4b1cda26…47bfddf2
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0xa99aad89
4harnesssupply
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0x5a4706d7…13c2f823
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 2000000000
ok
6agentwithdraw
minOut 0, deadline 4102444800
reverted
Error("zero address")
0x5c2bea49 0xb06f2f23…6a24f398
0x5c2bea49000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
withdraw-usdc.reentrancy-probe.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0x436e21e1…341b895e
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0xa99aad89
4harnesssupply
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0x94959c2b…6f78dbba
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 2000000000
ok
6agentsimulate withdraw
simulation succeeded
ok0x5c2bea49
7agentwithdraw
minOut 0, deadline 1792143343
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xa56fc0ad>
success0x5c2bea49 0xbd2cbfc5…8acf2425
0x5c2bea49000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
withdraw-usdc.sandwich-prone.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0xe996eb6e…b7a2c925
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0xa99aad89
4harnesssupply
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0x731eed3f…eee984dc
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 2000000000
ok
6agentwithdraw
minOut 0, deadline 4102444800
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xa56fc0ad>
success0x5c2bea49 0xf73773cc…473824e9
0x5c2bea49000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
withdraw-usdc.slippage-insensitive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0x90c25746…84435744
0x095ea7b3000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0xa99aad89
4harnesssupply
minOut 0, deadline 1792143331 (harness)
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xedf88704>
success0xa99aad89 0xd96b4a24…cd8b3710
0xa99aad89000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…
5harnessbalances
USDC balance 2000000000
ok
6agentsimulate withdraw
simulation succeeded
ok0x5c2bea49
7agentwithdraw
minOut 0, deadline 1792143343
events: MorphoBlue.<unknown 0x9d9bd501>, MorphoBlue.<unknown 0xa56fc0ad>
success0x5c2bea49 0xc0582060…4e037673
0x5c2bea49000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000420000000000000000000000000000000000000600…

Proof and reproduction

Report hash 0xe4031d5037394ea11b9528ab8ea6f572fc1bf0d5d7ac2eb6e737618eaefbe1da

Config hash 0x1c9b9bc42e634779fbe3707c84ea3810effb9f7f1355e31d162eb612dd62dadc

Attested on Ethereum Sepolia (EAS): 0xe3da2737…9de6c505

Reproduce: anvil --fork-url <archive RPC for chain 8453> --fork-block-number 52676386 --chain-id 8453 --port 8545 && karatum-protocol-audit run --config audit.json --rpc http://127.0.0.1:8545 --block 52676386

JSON: GET /v1/protocol-audits/morpho-blue-base

Caveats

  • This is a measurement of how scripted agents behave on a fork of the chain at one block, not a security audit and not a guarantee. It says nothing about contract bugs outside the tested flows.
  • The agents are deterministic scripts, not language models. Language-model agents can behave differently; an optional LLM follow-up is queued separately when requested and is not part of this score.
  • Everything ran on a local Anvil fork. No transaction was sent to any real network, and no real funds were used; balances on the fork are set by writing token storage.
  • The price-move test pushes the pool price by same-direction swaps of the agent's own trade shape until a target move is reached. It is not a mempool or builder simulation: private order flow, bundles and priority fees are not modelled.
  • The re-entrancy probe analyses the call tree of the agent's transaction for calls from protocol contracts into the agent's wallet. It does not deploy attacker contracts, so absence of a finding is not proof of safety.
  • Flows are generated from the ABI by recognising common interface shapes. Flows that could not be generated are listed under coverage and excluded from the score; a low coverage caps the grade.
  • ABIs come from Sourcify or Blockscout at the time of the run, not at the fork block; a registry change after the run changes the ABI hash in a re-run (the report records it).
  • Fork state depends on the chosen block. Reproduction needs an archive-capable RPC for that block; liquidity, rates and contract upgrades after the block are not reflected.
  • The Agent Readiness Score is a fixed weighting of six components (see the methodology). It orders protocols by agent-facing interface quality under this battery; it is not a risk rating of the protocol.

All case studies