EARLY PROTOCOL / V2

Build with verified discovery.

Reuse Early’s versioned provider schemas, Base registry, and private eligibility boundary without rebuilding the zkTLS flow.

Provider schema

A provider must bind the authenticated account, focal subject, required interaction, relationship, and timestamp. Every configuration is versioned and allowlisted by hash.

type VerifiedDiscovery = {
  platform: "x" | "youtube";
  provider: { id: string; version: string; hash: bytes32 };
  proofIdentifier: bytes32;
  sessionNullifier: bytes32;
  wallet: address;
  subject: string;
  content: string;
  timestamp: number;
  commitment: bytes32;
};

Public registry

`verifyAndRegister` calls Reclaim’s verifier and creates the receipt atomically. There is no externally callable publish function that can bypass verification.

const registry = new Contract(
  "Deploy registry to populate",
  EARLY_DISCOVERY_REGISTRY_ABI,
  signer
);

await registry.verifyAndRegister(reclaimProof);

Private eligibility

Early’s attestor verifies plaintext in V2, derives the exact encrypted update, and signs an EIP-712 attestation for the Zama vault. Consumers receive only an expiring claim authorization.

Base registryDeploy registry to populate
Zama vaultDeploy vault to populate

Trust boundary

Public receipts expose selected proof fields in transaction calldata. Private vault proofs do not go to Base, but the Early attestor sees verified plaintext before encryption. FHE protects the accumulated history and campaign computation.

Reclaim supported networks

License

Early’s first-party source is licensed under Apache License 2.0. Third-party dependencies retain their respective licenses.