fresh402_contract_watch
Observe code, standard proxy slots, common getters, explicitly selected storage/ABI and bounded selected events at one finalized Base address; optionally compare an owned prior snapshot. Selected single-provider evidence only; unknown controls remain unknown. Commercial input binds to the original x402/MPP/prepaid request and REQUIRED random32-byte private recovery token for x402/MPP. REST sends X-Fresh402-Recovery-Token; MCP sends params._meta['fresh402/recovery-token']. Persist the secret with the original proof/input before authorizing. No client request_id; recovery reuses the original result with no new RPC or debit. Provider failure/partial scan never becomes a paid success. A confirmed paid response with observation_saved=false and persistence_error is pending domain finalization: keep original proof/input/token, retry recovery only, and do not use returned snapshot/cursor IDs until saved flags become true. $0.010000 USDC on Base per call; use an approved compatible payment client. Prepaid requires eligible finalized all-service credits or an original explicit service-specific tariff4 grant; inspect authenticated /v3/prepaid/quote/contract_watch. Historical web package terms remain unchanged. Records retain30days; original private financial recovery retains7days. Server-side provider approval and published tariff gates apply; paying agents do not need their own RPC credentials or an operator-created grant when eligible all-service credits are available. Read /v3/prepaid/all-services and accept its exact terms before a new all-service purchase. Optional free evaluation: inspect GET /v3/agent-trial for the CAPTCHA-free machine trial (unfunded EOA ownership signing required). Web tools may also use the separate human trial at /v2/trial. Only enabled, eligible allowances authorize free execution; shared capacity can return 429 earlier. Send X-Fresh402-Trial-Key and a distinct persisted Idempotency-Key per logical REST or MCP call. Reuse the same tool/input/key for retained recovery. Never mix trial and payment/prepaid credentials. Exhaustion never authorizes a charge; ordinary requests without trial credentials retain the paid challenge.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| block | No | Finalized only. Every state read pins the selected block hash with requireCanonical:true; no latest/number fallback. | finalized |
| reads | No | At most one unverified zero-argument view/pure ABI read with one supported static output. | |
| slots | No | At most one exact bytes32 storage slot; no inferred layout. | |
| address | Yes | 20-byte Ethereum address; lowercase/uppercase accepted, mixed case must have a valid EIP-55 checksum. Normalized to checksummed form. | |
| chain_id | Yes | Base mainnet only; returned provider chain must match. | |
| event_topics | No | At most one exact topic0 at this contract, bounded to the existing lookback/call limit. Dense or excessive work fails the whole paid operation; no partial success. | |
| events_from_block | No | Optional first event block; otherwise previous snapshot block+1, or current block initially. Older than 32 blocks returns lookback_gap, without skipping to recent history. | |
| previous_snapshot | No | Optional owned snapshot_id from a successful saved contract_watch result, retained for30days. Same payer or prepaid account, chain, address and provider required. Foreign/missing IDs return404; expired IDs return410 without silently starting a new baseline. |