human.cvhuman.cv

Architecture

Smart Accounts

On Base, every identity is an ERC-4337 smart account addressed with CREATE2 — which is what lets a key’s address exist before the key does.

Why ERC-4337, not bare EOAs

Account abstraction gives each identity real flexibility: sponsored gas so contributors aren’t blocked by fees, programmable validation, and social or policy-based recovery. An identity becomes a small program, not just a keypair.

CREATE2: addresses before deployment

CREATE2 makes a contract’s address a pure function of its deployer, a salt, and its init code. So a derived identity’s address can be computed in advance — you can attest to and accumulate proofs against an address that has not yet been deployed.

Counterfactual identities

A derived key can build a track record while existing only as a future address. You deploy it on-chain lazily — at the moment you actually need it — and the derivation salt ties it back to your root.

How derivation meets deployment

  • A path like m/cv'/0'/2026·Q3/git determines the salt.
  • Salt + init code + factory ⇒ a deterministic CREATE2 address, known before deployment.
  • The same derivation proves, on reveal, that the address descends from your root.

What this buys contributors

Gas can be sponsored so anonymity isn’t gated by a funded wallet. Recovery policies live on the account, not in a brittle side-system. And because addresses are counterfactual, contributing pseudonymously costs nothing on-chain until you choose to surface.