fresh402_wallet_watch
Read ETH balance snapshots and selected ERC-20-shaped Transfer events for one wallet in a completed bounded finalized page. Save the owned cursor and use a new paid operation for the next page. Not full native/internal/NFT/transaction history; provider-reported logs cannot prove completeness. 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.020000 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/wallet_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 |
| cursor | No | Owned opaque cursor from a prior successful wallet_watch. Scope, wallet, tokens, provider and policy must match. | |
| tokens | Yes | One to four selected ERC-20 contracts; no full wallet transaction history. | |
| 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. | |
| chunk_size | No | Single bounded chunk; four-block maximum and no automatic retry. | |
| from_block | No | Initial first block; cannot be supplied with cursor. Default last four finalized blocks; a gap beyond32 fails without skipping history. | |
| max_blocks | No | At most four blocks in this paid page; default4. has_more describes a completed bounded page, not permission to charge a failed partial scan. |