Aave v3 (Base Pool)

B83/100

Base fork at block 52676275 (2026-10-16 09:11:37 UTC) · 5/5 flows executed · 50 cases · 1 high1 medium4 low2 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 25 weighted probe points were accepted unsafely
Error legibility1.4 / 10mean revert legibility 0.14 over 10 reverts raised by the protocol (7 raised by tokens not counted)
Approval surface6 / 10spender is upgradeable; 1 signature-accepting function(s)
Interface clarity6 / 107 static interface finding(s)

Findings

high Reverts are hard for an agent to act on · dynamic

10 reverts were observed across the battery; mean legibility 0.14 (1 = named custom error with parameters; 7 more reverts raised by token contracts are not counted). 10 were empty, panics or errors missing from the published ABI; the rest were short string codes. Examples: unknown error 0x2c5211c6 (not in the published ABI); (empty revert).

Fix. Use named custom errors with parameters (`error InsufficientAllowance(uint256 have, uint256 need)`) and include them in the verified ABI; avoid numeric string codes.

Evidence: supply-usdc.prober.zero-amountsupply-usdc.prober.dust-amountsupply-usdc.prober.no-approval

medium 6 functions also exist as opaque packed `bytes32` overloads · static

Pool exposes borrow, liquidationCall, repay, repayWithATokens, supply, withdraw twice each: a readable variant and a packed variant whose arguments are bit-packed by an off-chain encoder (borrow(address,uint256,uint256,uint16,address) / borrow(bytes32); liquidationCall(address,address,address,uint256,bool) / liquidationCall(bytes32,bytes32); repay(bytes32) / repay(address,uint256,uint256,address); repayWithATokens(address,uint256,uint256) / repayWithATokens(bytes32) and 2 more). A tool generator that exposes ABI functions by name collides, and an agent that picks the packed variant mis-encodes silently.

Fix. Give the packed variants distinct names (or ship them in a separate periphery contract/ABI) so default tool generation never exposes them.

Where: Pool.borrow, liquidationCall, repay, repayWithATokens, supply, withdraw ·

low Two names for the same action: deposit and supply · static

Pool exposes both `deposit` and `supply` with identical parameters. An agent (or a tool generator) can pick either; one of them is usually the deprecated alias.

Fix. Remove the deprecated alias from the published ABI or mark it clearly (`@deprecated`) so tool generators skip it.

Where: Pool.deposit, supply ·

low 2 functions have overloads · static

Pool: repayWithPermit(bytes32,bytes32,bytes32) / repayWithPermit(address,uint256,uint256,address,uint256,uint8,bytes32,bytes32); supplyWithPermit(address,uint256,address,uint16,uint256,uint8,bytes32,bytes32) / supplyWithPermit(bytes32,bytes32,bytes32). An agent (or a tool generator keyed by name) can pick the wrong variant.

Fix. Give overloads distinct names, or document which one agents should use.

Where: Pool.repayWithPermit, supplyWithPermit ·

low 4 function(s) accept a signature · static

repayWithPermit, repayWithPermit, supplyWithPermit, supplyWithPermit take a signature that grants spending rights. An agent that signs EIP-712 typed data it did not construct can be tricked into authorising a drain; the protocol cannot tell the two apart on chain.

Fix. Document the exact EIP-712 domain and message an agent should sign, bind the permit to the protocol's own spender and an exact amount, and keep a non-signature (approve) path documented as the default.

Where: Pool.repayWithPermit, repayWithPermit, supplyWithPermit, supplyWithPermit ·

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

borrow, deposit, flashLoan, flashLoanSimple, supply, supplyWithPermit take `referralCode`: 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: Pool.borrow, deposit, flashLoan, flashLoanSimple, supply, supplyWithPermit ·

info 11 function(s) return nothing · static

borrow, borrow, deposit, flashLoan, flashLoanSimple, liquidationCall and 5 more 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: Pool.borrow, borrow, deposit, flashLoan, flashLoanSimple, liquidationCall and 5 more ·

info Behind an upgradeable proxy · static

Pool is a EIP1967Proxy whose logic lives at 0xA4AbC5FcBA6D0d7E3D144d6dbF6cb6128599dFdB. The implementation can be replaced by the proxy admin, so an agent's tested behaviour is a property of this implementation only.

Fix. Pin the implementation address (or its code hash) in the agent's configuration and re-check it before each session; subscribe to upgrade events.

Where: Pool ·

What held

  • All 20 hostile-input probes (zero amount, dust, zero recipient, missing approval, overspend, past deadline, impossible minimum output, phantom token) were rejected or harmless.
  • 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/0none1,187,293n/a
Naive
Approves the maximum, accepts any output, sets a far-future deadline, never simulates, trusts the transaction status.
5/50/0unlimited1,199,253n/a
Max-approve
Careful in everything except approving the maximum and never revoking: isolates the approval surface.
5/50/0unlimited1,199,253n/a
Slippage-insensitive
Careful in everything except accepting any output: isolates slippage exposure.
5/50/0none1,187,233n/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/0none1,187,293n/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/0none1,187,293n/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-amountrejectedunknown error 0x2c5211c6 (not in the published ABI)
supply-usdcdust-amountrejectedunknown error 0x2c5211c6 (not in the published ABI)
supply-usdcno-approvalrejectedError("ERC20: transfer amount exceeds allowance")
supply-usdcoverspendrejectedError("ERC20: transfer amount exceeds balance")
supply-usdcnon-contract-tokenrejected(empty revert)
withdraw-usdczero-amountrejectedunknown error 0x2c5211c6 (not in the published ABI)
withdraw-usdcdust-amountaccepted—
withdraw-usdczero-recipientrejectedError("ERC20: transfer to the zero address")
supply-wethzero-amountrejectedunknown error 0x2c5211c6 (not in the published ABI)
supply-wethdust-amountrejectedunknown error 0x2c5211c6 (not in the published ABI)
supply-wethno-approvalrejected(empty revert)
supply-wethoverspendrejected(empty revert)
supply-wethnon-contract-tokenrejected(empty revert)
borrow-usdczero-amountrejectedunknown error 0x2c5211c6 (not in the published ABI)
borrow-usdcdust-amountaccepted—
repay-usdczero-amountrejectedunknown error 0x2c5211c6 (not in the published ABI)
repay-usdcdust-amountrejectedunknown error 0x2075cc10 (not in the published ABI)
repay-usdcno-approvalrejectedError("ERC20: transfer amount exceeds allowance")
repay-usdcoverspendaccepted—
repay-usdcnon-contract-tokenrejected(empty revert)

10 protocol reverts observed (and 7 raised by token contracts, not counted), mean legibility 0.14 (1 = named custom error with parameters). Examples: unknown error 0x2c5211c6 (not in the published ABI) · (empty revert)

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 Pool

Deposit 1000 USDC into Aave v3 (Base Pool) (Pool at 0xA238Dd80C259a72e81d7e4664a9801593F98d1c5 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,uint256,address,uint16) on Pool (0xA238Dd80C259a72e81d7e4664a9801593F98d1c5). Approvals: 0x833589… → 0xA238Dd…. Success is read from chain state: USDC balance decreases; aUSDC balance increases.

Generated by aave-v3 supply.

withdraw-usdc · Withdraw 500 USDC on Pool

Withdraw 500 USDC from your existing position in Aave v3 (Base Pool) (Pool at 0xA238Dd80C259a72e81d7e4664a9801593F98d1c5 on Base) back to your own wallet. Done when your USDC balance has increased and your position has decreased.

Call withdraw(address,uint256,address) on Pool (0xA238Dd80C259a72e81d7e4664a9801593F98d1c5). Approvals: none. Success is read from chain state: USDC balance increases; aUSDC balance decreases.

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

supply-weth · Deposit 1 WETH on Pool

Deposit 1 WETH into Aave v3 (Base Pool) (Pool at 0xA238Dd80C259a72e81d7e4664a9801593F98d1c5 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 supply(address,uint256,address,uint16) on Pool (0xA238Dd80C259a72e81d7e4664a9801593F98d1c5). Approvals: 0x420000… → 0xA238Dd…. Success is read from chain state: WETH balance decreases; aWETH balance increases.

Generated by aave-v3 supply.

borrow-usdc · Borrow 500 USDC on Pool

Borrow 500 USDC from Aave v3 (Base Pool) (Pool at 0xA238Dd80C259a72e81d7e4664a9801593F98d1c5 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,uint256,uint256,uint16,address) on Pool (0xA238Dd80C259a72e81d7e4664a9801593F98d1c5). Approvals: none. Success is read from chain state: USDC balance increases; variable debt of USDC increases.

Generated by aave-v3 borrow (variable rate) after supply-weth. position-reducing or borrowing flow: nothing is approved

repay-usdc · Repay 250 USDC on Pool

Repay 250 USDC of your debt in Aave v3 (Base Pool) (Pool at 0xA238Dd80C259a72e81d7e4664a9801593F98d1c5 on Base). Done when your USDC balance has decreased and your debt position has decreased.

Call repay(address,uint256,uint256,address) on Pool (0xA238Dd80C259a72e81d7e4664a9801593F98d1c5). Approvals: 0x833589… → 0xA238Dd…. Success is read from chain state: USDC balance decreases; variable debt of USDC decreases.

Generated by aave-v3 repay (variable rate) after borrow-usdc.

Contracts and ABIs

ContractAddressABIProxy
Pool0xA238Dd80C259a72e81d7e4664a9801593F98d1c5sourcify (exact_match) · 83 functionsEIP1967Proxy → 0xA4AbC5FcBA6D0d7E3D144d6dbF6cb6128599dFdB

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 0x272fb285…dc95a91d
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x978381d6…86510688
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 0
ok
6agentsimulate borrow
simulation succeeded
ok0xa415bcad
7agentborrow
minOut 0, deadline 1792143121
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x7b9dbb27…b2bd7363
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
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 0x36d88c03…97d9f0e9
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x3c61fdba…18515f1d
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 0
ok
6agentsimulate borrow
simulation succeeded
ok0xa415bcad
7agentborrow
minOut 0, deadline 1792143121
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x9a912b33…df113cbe
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
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 0x3d0609ba…20165273
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x58e82eb2…5d816a0d
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 0
ok
6agentborrow
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x8463746f…81b68bc7
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
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 0xe70c032c…32a77446
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x9188663a…71993710
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 0
ok
6agentborrow
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0xe8bfc39c…cbefdc29
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000100…
borrow-usdc.prober.zero-amount revertedrejected

reverted: unknown error 0x2c5211c6 (not in the published ABI); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xaeab9981…5704fbc2
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0xd4ff0e55…942c8e7d
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 0
ok
6agentborrow
minOut 0, deadline 4102444800
reverted
unknown error 0x2c5211c6 (not in the published ABI)
0xa415bcad 0x91639035…9f75bfb5
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000000…
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 0x338152c6…97d1a071
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x807d01ef…75910274
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 0
ok
6agentsimulate borrow
simulation succeeded
ok0xa415bcad
7agentborrow
minOut 0, deadline 1792143121
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0xbd4dab17…5e7cb2c1
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
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 0x636d61f7…624ed6cf
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x5e9a5345…59f7c959
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 0
ok
6agentborrow
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0xfc159f32…fb8b5146
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
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 0xaf52902d…da4ecef3
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x34e217f5…7c0920cd
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 0
ok
6agentsimulate borrow
simulation succeeded
ok0xa415bcad
7agentborrow
minOut 0, deadline 1792143121
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x74e3578f…ca890769
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
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 0x272fb285…dc95a91d
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x978381d6…86510688
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0xa415bcad
7harnessborrow
minOut 0, deadline 1792143121 (harness)
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x7b9dbb27…b2bd7363
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0x15e8cf1b…9318eb2d
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000000ee6b280
10agentsimulate repay
simulation succeeded
ok0x573ade81
11agentrepay
minOut 0, deadline 1792143145
events: Pool.ReserveDataUpdated, Pool.Repay
success0x573ade81 0x443f8a48…1c4088cd
0x573ade81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000ee6b28000…
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 0x36d88c03…97d9f0e9
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x3c61fdba…18515f1d
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0xa415bcad
7harnessborrow
minOut 0, deadline 1792143121 (harness)
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x9a912b33…df113cbe
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
max approval
success0x095ea7b3 0x6ceaeeb4…412d7249
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
10agentsimulate repay
simulation succeeded
ok0x573ade81
11agentrepay
minOut 0, deadline 1792143145
events: Pool.ReserveDataUpdated, Pool.Repay
success0x573ade81 0x173a188b…fef5550c
0x573ade81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000ee6b28000…
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 0x3d0609ba…20165273
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x58e82eb2…5d816a0d
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0xa415bcad
7harnessborrow
minOut 0, deadline 1792143121 (harness)
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x8463746f…81b68bc7
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
max approval
success0x095ea7b3 0xdb6cfa55…52fbe11e
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
10agentrepay
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.Repay
success0x573ade81 0xa634a4fb…625b743d
0x573ade81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000ee6b28000…
repay-usdc.prober.dust-amount revertedrejected

reverted: unknown error 0x2075cc10 (not in the published ABI); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xe70c032c…32a77446
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x9188663a…71993710
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0xa415bcad
7harnessborrow
minOut 0, deadline 1792143121 (harness)
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x9adb35e6…6b3279c2
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0x7953a4f2…32314c84
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000000000000000001
10agentrepay
minOut 0, deadline 4102444800
reverted
unknown error 0x2075cc10 (not in the published ABI)
0x573ade81 0xa93b9e18…58cd1949
0x573ade81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000100…
repay-usdc.prober.no-approval revertedrejected

reverted: Error("ERC20: transfer amount exceeds allowance"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x705ddc69…31d4350d
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x52cfb896…282c744e
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0xa415bcad
7harnessborrow
minOut 0, deadline 1792143121 (harness)
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0xd6164faa…0011e2f9
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
8harnessbalances
USDC balance 1250000000
ok
9agentrepay
minOut 0, deadline 4102444800
reverted
Error("ERC20: transfer amount exceeds allowance")
0x573ade81 0xc59f3388…d9e85dc7
0x573ade81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000ee6b28000…
repay-usdc.prober.non-contract-token revertedrejected

reverted: (empty revert); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0x7b236abd…51ea211a
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x4f33aedb…09ad752a
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0xa415bcad
7harnessborrow
minOut 0, deadline 1792143121 (harness)
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x19c942cd…15b8a59b
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
8harnessbalances
USDC balance 1250000000
ok
9agentrepay
minOut 0, deadline 4102444800
reverted
(empty revert)
0x573ade81 0xea3f7221…632a52fb
0x573ade81000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000000000000000000000000000000000000ee6b28000…
repay-usdc.prober.overspend 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 0x0bc88e05…52ea2f75
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0xba303bfa…b56c7fed
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0xa415bcad
7harnessborrow
minOut 0, deadline 1792143121 (harness)
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x0dc855f3…98ab403b
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0x10004602…785be50a
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000004a817c81
10agentrepay
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.Repay
success0x573ade81 0x3f1da243…dd5b6d38
0x573ade81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000004a817c8100…
repay-usdc.prober.zero-amount revertedrejected

reverted: unknown error 0x2c5211c6 (not in the published ABI); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2harnessapprove WETH to spender
exact approval (harness)
success0x095ea7b3 0xaeab9981…5704fbc2
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0xd4ff0e55…942c8e7d
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0xa415bcad
7harnessborrow
minOut 0, deadline 1792143121 (harness)
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x83a9e0ca…eb911d78
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
8harnessbalances
USDC balance 1250000000
ok
9agentrepay
minOut 0, deadline 4102444800
reverted
unknown error 0x2c5211c6 (not in the published ABI)
0x573ade81 0x1ac80402…29648efb
0x573ade81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000000…
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 0x338152c6…97d1a071
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x807d01ef…75910274
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0xa415bcad
7harnessborrow
minOut 0, deadline 1792143121 (harness)
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0xbd4dab17…5e7cb2c1
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0xc76869dc…42a3e1ee
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000000ee6b280
10agentsimulate repay
simulation succeeded
ok0x573ade81
11agentrepay
minOut 0, deadline 1792143145
events: Pool.ReserveDataUpdated, Pool.Repay
success0x573ade81 0x19624c3f…32c3dcfd
0x573ade81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000ee6b28000…
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 0x636d61f7…624ed6cf
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x5e9a5345…59f7c959
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0xa415bcad
7harnessborrow
minOut 0, deadline 1792143121 (harness)
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0xfc159f32…fb8b5146
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0xd31fe993…89df2e0c
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000000ee6b280
10agentrepay
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.Repay
success0x573ade81 0x0672ad65…01c325ac
0x573ade81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000ee6b28000…
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 0xaf52902d…da4ecef3
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x34e217f5…7c0920cd
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
5harnessbalances
USDC balance 750000000
ok
6harnesssimulate borrow
simulation succeeded
ok0xa415bcad
7harnessborrow
minOut 0, deadline 1792143121 (harness)
events: Pool.ReserveDataUpdated, Pool.Borrow
success0xa415bcad 0x74e3578f…ca890769
0xa415bcad000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
8harnessbalances
USDC balance 1250000000
ok
9agentapprove USDC to spender
exact approval
success0x095ea7b3 0x0c560c83…89d5b9eb
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000000ee6b280
10agentsimulate repay
simulation succeeded
ok0x573ade81
11agentrepay
minOut 0, deadline 1792143145
events: Pool.ReserveDataUpdated, Pool.Repay
success0x573ade81 0xb99e58b6…3ee82bdf
0x573ade81000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000ee6b28000…
supply-usdc.careful.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
exact approval
success0x095ea7b3 0x5986dae8…6eb064aa
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3agentsimulate supply
simulation succeeded
ok0x617ba037
4agentsupply
minOut 0, deadline 1792143109
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x7a9a471d…ad0d6334
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
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 0xd10a9410…1e9df136
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
3agentsimulate supply
simulation succeeded
ok0x617ba037
4agentsupply
minOut 0, deadline 1792143109
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0xe3278bfe…c0da6c12
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
supply-usdc.naive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
max approval
success0x095ea7b3 0x40b2ea53…80ceeb11
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
3agentsupply
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x7e58e320…b1d617db
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
supply-usdc.prober.dust-amount revertedrejected

reverted: unknown error 0x2c5211c6 (not in the published ABI); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
exact approval
success0x095ea7b3 0x98f16088…33a825d8
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000000000000000001
3agentsupply
minOut 0, deadline 4102444800
reverted
unknown error 0x2c5211c6 (not in the published ABI)
0x617ba037 0x4aff2030…fe010ca0
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000100…
supply-usdc.prober.no-approval revertedrejected

reverted: Error("ERC20: transfer amount exceeds allowance"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentsupply
minOut 0, deadline 4102444800
reverted
Error("ERC20: transfer amount exceeds allowance")
0x617ba037 0x967efd2e…43f37611
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
supply-usdc.prober.non-contract-token revertedrejected

reverted: (empty revert); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentsupply
minOut 0, deadline 4102444800
reverted
(empty revert)
0x617ba037 0x89fc8dd6…6c774bdd
0x617ba037000000000000000000000000000000000000000000000000000000000000dead000000000000000000000000000000000000000000000000000000003b9aca0000…
supply-usdc.prober.overspend revertedrejected

reverted: Error("ERC20: transfer amount exceeds balance"); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentapprove USDC to spender
exact approval
success0x095ea7b3 0x438d706f…438bf9a5
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c500000000000000000000000000000000000000000000000000000000b2d05e01
3agentsupply
minOut 0, deadline 4102444800
reverted
Error("ERC20: transfer amount exceeds balance")
0x617ba037 0x3a0a43b6…3dcc6ada
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291300000000000000000000000000000000000000000000000000000000b2d05e0100…
supply-usdc.prober.zero-amount revertedrejected

reverted: unknown error 0x2c5211c6 (not in the published ABI); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2agentsupply
minOut 0, deadline 4102444800
reverted
unknown error 0x2c5211c6 (not in the published ABI)
0x617ba037 0x6ffbf9f0…d61f744d
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000000…
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 0xad7f67ae…c542079a
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3agentsimulate supply
simulation succeeded
ok0x617ba037
4agentsupply
minOut 0, deadline 1792143109
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x239ebc28…13352cc4
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
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 0xa1b3973d…b2357cf0
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3agentsupply
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x29adba1f…c6bcb6df
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
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 0x4b5d8151…3fb3e57e
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3agentsimulate supply
simulation succeeded
ok0x617ba037
4agentsupply
minOut 0, deadline 1792143109
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x99844300…fd210abf
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
supply-weth.careful.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0x272fb285…dc95a91d
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3agentsimulate supply
simulation succeeded
ok0x617ba037
4agentsupply
minOut 0, deadline 1792143109
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x978381d6…86510688
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
supply-weth.max-approve.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
max approval
success0x095ea7b3 0x6cae57c7…bf80ea73
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
3agentsimulate supply
simulation succeeded
ok0x617ba037
4agentsupply
minOut 0, deadline 1792143109
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x3c61fdba…18515f1d
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
supply-weth.naive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
max approval
success0x095ea7b3 0x50c8fabe…de23b36b
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
3agentsupply
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x58e82eb2…5d816a0d
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
supply-weth.prober.dust-amount revertedrejected

reverted: unknown error 0x2c5211c6 (not in the published ABI); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0x99ca73fc…dcae6279
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000000000000000001
3agentsupply
minOut 0, deadline 4102444800
reverted
unknown error 0x2c5211c6 (not in the published ABI)
0x617ba037 0x6d837d82…b71df322
0x617ba0370000000000000000000000004200000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100…
supply-weth.prober.no-approval revertedrejected

reverted: (empty revert); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentsupply
minOut 0, deadline 4102444800
reverted
(empty revert)
0x617ba037 0x0881070f…de316fe3
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
supply-weth.prober.non-contract-token revertedrejected

reverted: (empty revert); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentsupply
minOut 0, deadline 4102444800
reverted
(empty revert)
0x617ba037 0x885214b2…1b7eba04
0x617ba037000000000000000000000000000000000000000000000000000000000000dead0000000000000000000000000000000000000000000000000de0b6b3a764000000…
supply-weth.prober.overspend revertedrejected

reverted: (empty revert); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0x46add2af…069b5d73
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c500000000000000000000000000000000000000000000000029a2241af62c0001
3agentsupply
minOut 0, deadline 4102444800
reverted
(empty revert)
0x617ba037 0x17fc4adc…658fb4d4
0x617ba037000000000000000000000000420000000000000000000000000000000000000600000000000000000000000000000000000000000000000029a2241af62c000100…
supply-weth.prober.zero-amount revertedrejected

reverted: unknown error 0x2c5211c6 (not in the published ABI); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentsupply
minOut 0, deadline 4102444800
reverted
unknown error 0x2c5211c6 (not in the published ABI)
0x617ba037 0x2578299a…4164034c
0x617ba0370000000000000000000000004200000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000…
supply-weth.reentrancy-probe.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0x338152c6…97d1a071
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3agentsimulate supply
simulation succeeded
ok0x617ba037
4agentsupply
minOut 0, deadline 1792143109
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x807d01ef…75910274
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
supply-weth.sandwich-prone.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0x636d61f7…624ed6cf
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3agentsupply
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x5e9a5345…59f7c959
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
supply-weth.slippage-insensitive.baseline success

all on-chain checks passed

#WhoStepResultSelector / tx
1harnessbalances
WETH balance 3000000000000000000
ok
2agentapprove WETH to spender
exact approval
success0x095ea7b3 0xaf52902d…da4ecef3
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c50000000000000000000000000000000000000000000000000de0b6b3a7640000
3agentsimulate supply
simulation succeeded
ok0x617ba037
4agentsupply
minOut 0, deadline 1792143109
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x34e217f5…7c0920cd
0x617ba03700000000000000000000000042000000000000000000000000000000000000060000000000000000000000000000000000000000000000000de0b6b3a764000000…
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 0x5986dae8…6eb064aa
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x7a9a471d…ad0d6334
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
5harnessbalances
USDC balance 2000000000
ok
6agentsimulate withdraw
simulation succeeded
ok0x69328dec
7agentwithdraw
minOut 0, deadline 1792143121
events: Pool.ReserveDataUpdated, Pool.Withdraw
success0x69328dec 0x056766bd…e80c67eb
0x69328dec000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
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 0xf3fbe97a…75c66cab
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0xe3278bfe…c0da6c12
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
5harnessbalances
USDC balance 2000000000
ok
6agentsimulate withdraw
simulation succeeded
ok0x69328dec
7agentwithdraw
minOut 0, deadline 1792143121
events: Pool.ReserveDataUpdated, Pool.Withdraw
success0x69328dec 0xcd9fb93d…3c1dc36a
0x69328dec000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
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 0xb31a4379…78e86332
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x7e58e320…b1d617db
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
5harnessbalances
USDC balance 2000000000
ok
6agentwithdraw
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.Withdraw
success0x69328dec 0xb9c666fd…94fe1aa7
0x69328dec000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
withdraw-usdc.prober.dust-amount check failedaccepted

checks failed: aUSDC balance decreases; accepted, and nothing was lost

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0x102a34e8…ca133a67
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0xd2cb3582…813b13ef
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
5harnessbalances
USDC balance 2000000000
ok
6agentwithdraw
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.Withdraw
success0x69328dec 0x60598538…1e13cc79
0x69328dec000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000100…
withdraw-usdc.prober.zero-amount revertedrejected

reverted: unknown error 0x2c5211c6 (not in the published ABI); the protocol rejected it

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0x360ab8d2…5ba738b1
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x507d4713…2d81d144
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
5harnessbalances
USDC balance 2000000000
ok
6agentwithdraw
minOut 0, deadline 4102444800
reverted
unknown error 0x2c5211c6 (not in the published ABI)
0x69328dec 0xdbd0d497…5db97433
0x69328dec000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000000…
withdraw-usdc.prober.zero-recipient revertedrejected

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

#WhoStepResultSelector / tx
1harnessbalances
USDC balance 3000000000
ok
2harnessapprove USDC to spender
exact approval (harness)
success0x095ea7b3 0xb83599e5…4d3454b1
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0xc77bc6cf…3864d29e
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
5harnessbalances
USDC balance 2000000000
ok
6agentwithdraw
minOut 0, deadline 4102444800
reverted
Error("ERC20: transfer to the zero address")
0x69328dec 0x3660ce43…4aab046f
0x69328dec000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
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 0xad7f67ae…c542079a
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x239ebc28…13352cc4
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
5harnessbalances
USDC balance 2000000000
ok
6agentsimulate withdraw
simulation succeeded
ok0x69328dec
7agentwithdraw
minOut 0, deadline 1792143121
events: Pool.ReserveDataUpdated, Pool.Withdraw
success0x69328dec 0x9ddba83f…dc1e9294
0x69328dec000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
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 0xa1b3973d…b2357cf0
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x29adba1f…c6bcb6df
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
5harnessbalances
USDC balance 2000000000
ok
6agentwithdraw
minOut 0, deadline 4102444800
events: Pool.ReserveDataUpdated, Pool.Withdraw
success0x69328dec 0x2e463eb3…881c09d0
0x69328dec000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…
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 0x4b5d8151…3fb3e57e
0x095ea7b3000000000000000000000000a238dd80c259a72e81d7e4664a9801593f98d1c5000000000000000000000000000000000000000000000000000000003b9aca00
3harnesssimulate supply
simulation succeeded
ok0x617ba037
4harnesssupply
minOut 0, deadline 1792143109 (harness)
events: Pool.ReserveDataUpdated, Pool.ReserveUsedAsCollateralEnabled, Pool.Supply
success0x617ba037 0x99844300…fd210abf
0x617ba037000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca0000…
5harnessbalances
USDC balance 2000000000
ok
6agentsimulate withdraw
simulation succeeded
ok0x69328dec
7agentwithdraw
minOut 0, deadline 1792143121
events: Pool.ReserveDataUpdated, Pool.Withdraw
success0x69328dec 0x9787d553…7baf02b6
0x69328dec000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000001dcd650000…

Proof and reproduction

Report hash 0x000dc13e2f33a0d2acc4fc5d8d4599d8f32d3eba408c4cd6cb4fdedb9905a233

Config hash 0xab4d138249caa765cf1d118b1ce5f3fd4188453a736e072753789f44cf0ee68e

Attested on Ethereum Sepolia (EAS): 0xb0cb868a…4cb29fd1

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

JSON: GET /v1/protocol-audits/aave-v3-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