V2 model
| On-chain object | Purpose |
|---|---|
| Schema | Defines attestation fields (bool passed, u64 score), revocability, optional resolver |
| Attestation | Binds field values to a stealth_address_hash (32-byte commitment) |
| Announcement | Optional discovery marker so the recipient’s WASM scanner finds the trait |
SchemaV2 / AttestationV2 shapes from both Ethereum and Solana.
Issuer flow
Recipient flow
Recipient formats
issueAttestation accepts:
| Format | Example | Announce? |
|---|---|---|
| 66-byte meta-address | 0x + 132 hex chars | Yes (default) |
| 20-byte stealth address | EVM address | Resolves to hash |
| 32-byte hash | stealth_address_hash | No ephemeral key, announce skipped |
Action scopes and nullifiers
Proofs are scoped to a specific action viaexternalNullifier: