Protocol v1.7.1
vet402 census: scan budget and execution example
Date:
vet402 census: scan budget and execution example
Protocol 1.7.1. The 2026-09-27 vet402 census listed six Amarok resources. Portfolio delivered. The other five stayed UNCLEAR: four research GETs did not finish inside vet402’s 20-second paid retry, and POST /v1/alpha/execution/quotes replayed a Bazaar example aimed at a fixture market that is not on mainnet.
Walletless invariant unchanged: Amarok never holds keys, never signs, never submits. meta.executionSubmitted is always false.
Research GETs
GET /v1/alpha/opportunities, /rewards, /spreads, and /quotes share loadAlphaScan. The old 45s budget covered orderbook fetches only. A slow or failed market list hung past the probe or returned 500, so Caddy did not settle.
ALPHA_SCAN_TIMEOUT_MSdefault and production value are 8000.- That deadline now covers the market list and the orderbook pass.
- A missed deadline or a failed market list returns a partial or empty
{asOf, items}envelope (timedOut/rewardError) instead of hanging or 500. - Twelve books at concurrency 12 are unchanged when Alpha is healthy.
- Polymarket and Kalshi scan budgets stay at 45000. They were not in this census.
Execution quotes
The execution_quotes Bazaar example no longer sends five quotes against fixture market 3100000001. vet402 now replays one durable quote:
shapeKey:alpha_opt_inagentAddress: the zero address (valid, and never already opted into USDC)input.assetIds:[31566704](mainnet USDC)
An asset-only opt-in does not read market global state. The output example is {asOf, data}, matching the handler. A missing market app from algod is HTTP 400 MARKET_NOT_FOUND, not a missing route.