- Claude Code
- Cursor
- Codex
- Antigravity
- Install All
Global:Or project-local:Or inside Claude Code:Or via the Claude CLI:Then use:
/herodotus-skills:herodotus-authWhat this skill teaches
- The full wire protocol:
GET /auth/web3/challenge→ sign EIP-712 →POST /auth/web3/session(withchannel: "bearer"in the JSON body) →GET /api-keys→POST /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.

