Skip to main content
AI Skills
Use this playbook when an AI assistant or CLI needs to authenticate to Herodotus Cloud programmatically using an EVM wallet — exchanging an EIP-712 challenge for a Bearer access token, then retrieving an API key. This is the first skill to load for any non-browser Herodotus integration: the Atlantic, Storage Proof, Data Processor, and Satellite skills all assume an API key is already in hand.
Global:
curl -fsSL https://raw.githubusercontent.com/HerodotusDev/ai-skills/main/install.sh | bash -s -- --claude
Or project-local:
curl -fsSL https://raw.githubusercontent.com/HerodotusDev/ai-skills/main/install.sh | bash -s -- --claude --project
Or inside Claude Code:
/plugin marketplace add HerodotusDev/ai-skills
/plugin install herodotus-skills@herodotus
Or via the Claude CLI:
claude plugin marketplace add HerodotusDev/ai-skills
claude plugin install herodotus-skills@herodotus
Then use: /herodotus-skills:herodotus-auth

What this skill teaches

  • The full wire protocol: GET /auth/web3/challenge → sign EIP-712 → POST /auth/web3/session (with channel: "bearer" in the JSON body) → GET /api-keysPOST /auth/refresh-token.
  • Channel-binding semantics — why a Bearer-issued JWT must never be presented via cookie (and vice versa).
  • A bring-your-own-signer model: the protocol is signer-agnostic. The reference example uses viem; KMS, hardware wallets, MetaMask, and ethers all work without changing the skill.
  • Anti-hallucination guardrails: do not invent endpoints, do not hardcode the EIP-712 domain/types/statement, do not assume a default projectId.
For the human-readable walkthrough of the same flow, see Programmatic wallet authentication.