ExplorerApi
Reads transaction history from an Etherscan-style explorer API. Works with Blockscout's public instance (no key, but rate-limited to ~10 req/min) or Etherscan API V2 (free API key, much higher limits).
Both expose the same account fields: from, to, value, blockNumber, timeStamp, hash, tokenSymbol, tokenDecimal, contractAddress, ...
Constructors
Optional HTTP proxy prefix (e.g. https://r.jina.ai) for environments where the explorer host is unreachable directly (Cloudflare-gated networks). The request is then sent to proxy + / + base + ?query.
Instance methods
Fetches every record across all pages for an account action.
Pagination stops only on an EMPTY page, never on a short one: Blockscout
caps a page below the requested offset, so a short page does not mean the
last page. This is defensive — it was not the cause of the missing recipient
documented in AIRDROP.md ("Open question" under step 1).