A multi-agent opportunity intelligence organization for crypto — the flagship org of the Veritas Deterministic Scaffold thesis.
Scout agents monitor known sources for legitimate earning opportunities (airdrops, quests, testnets, Learn & Earn). Verification agents investigate. A deterministic scaffold gate — the only trust boundary — decides what gets persisted and shown to the user. Free agents at the edges, one incorruptible gate at the center.
- Never holds keys. Never signs or executes transactions.
- The trust boundary is deterministic — nothing reaches the user except through the fail-closed gate.
- Every trusted claim carries provenance (source URL, timestamp, confirmations).
- Presents intelligence, not financial advice.
- Proposal zone (untrusted): Opus 4.8 scouts with server-side web search/fetch
scoped to each beat's allowed domains file candidate
OpportunitySpecs. The Source Verification Agent hunts independent confirmations; the Scam Detection Agent hunts negative evidence (scam-report URLs). Filing new evidence resets a record to candidate — verdicts are never stale. - Scaffold zone (deterministic):
engine/gate.py— scam-list, official-domain allowlist, source validity (RDAP age on registrable domains), multi-source confirmation, explorer contract check, credible-scam-report check. Fail closed, monotonic: unvalidatable evidence is excluded, never decisive — except scam taint, which is a hard fail anywhere. - Scoring rubric: cost/time/safety computed deterministically from the spec and the gate's own evidence; the Ranking Agent proposes only reward-potential (0-40), clamped in code. Total /90.
- On-chain sense: the gate's
contract_verifiedcheck runs against block explorers — Etherscan v2 whenETHERSCAN_API_KEYis set, otherwise the chain's keyless public Blockscout instance (Ethereum/Base/Optimism/Arbitrum/Gnosis). Unknown chain → fails closed. - The debate: Advocate / Skeptic / Strategist file stances (endorse/caution/oppose) persisted as transcript — never a verdict. The Skeptic's only teeth are scam reports the deterministic gate counts.
- DataHub: SQLite store of all specs + provenance + outcomes + debate transcript + the activity log (every agent action) + usage log.
- Digest & Mission: deterministic ranked content; the LLM only voices it.
- The dashboard is a living command center. "The Army" tab shows all 15 agents as cards — role, latest action, count today, or "standing by" — plus a live hunt feed of the org working (scouts spotting leads, the Skeptic raising flags, the Gate rendering verdicts). Activity logging is purely observational; it can never change a verdict.
The product target is the Anthropic Claude API (claude-opus-4-8, server-side
web search/fetch, adaptive thinking). A second provider, OpenAI, exists purely as
build/dev mode so development can continue when the Anthropic account is
unfunded: LLM_PROVIDER=openai in .env runs the same agents on gpt-5-mini
via the Responses API + hosted web_search. One contract (engine/agents/runtime.py),
two implementations; the gate and every trust decision are provider-independent.
source .venv/bin/activate
# .env at repo root: ANTHROPIC_API_KEY=... (product) / OPENAI_API_KEY=... + LLM_PROVIDER=openai (build)
python cli.py day # sweep -> verify -> hunt-scams -> gate -> rank -> digest -> mission
python cli.py mission # tonight's Daily Mission from your profile (config/profile.json)
python cli.py serve # dashboard at http://127.0.0.1:8010
python cli.py debate # the recommendation debate (stances → deterministic settle)
python cli.py record <id> --acted --paid --payout 120 # outcome tracking
python cli.py status # counts + token/cost totals
pytest # offline tests incl. the seeded-scam regressionA macOS LaunchAgent (~/Library/LaunchAgents/com.moresalamander.cryptohunter.plist)
runs scripts/daily_run.sh — the full day-cycle — every morning at 07:00 local, so the
dashboard's mission and digest are simply there. Logs land in logs/daily-YYYY-MM-DD.log.
launchctl unload ~/Library/LaunchAgents/com.moresalamander.cryptohunter.plist # stop it
launchctl kickstart -k gui/$(id -u)/com.moresalamander.cryptohunter # run nowBuilt by MoreSalamander — "built by the engineer learning how to build it."