Skip to content

Start typing to search the documentation.

Protocol Architecture

On this page

Self Connect uses a federated architecture where multiple independent issuers can register attestations that map obfuscated identifiers to blockchain addresses.

Core Components

┌─────────────────┐
│   User/Client   │
└────────┬────────┘

         ├──────────────┐
         │              │
         v              v
┌─────────────┐  ┌─────────────┐
│    ODIS     │  │   Issuer    │
│  (Privacy)  │  │(Verification)│
└──────┬──────┘  └──────┬──────┘
       │                │
       └────────┬───────┘

                v
     ┌──────────────────────┐
     │ FederatedAttestations│
     │   Smart Contract     │
     └──────────────────────┘

FederatedAttestations Smart Contract

The FederatedAttestations contract is the on-chain registry for all attestation mappings. It stores attestations in a structure that allows:

  • Registration: Issuers register mappings between obfuscated identifiers and addresses
  • Lookup: Anyone can query attestations for a given obfuscated identifier
  • Multi-Issuer Support: Attestations are organized by issuer, allowing trust-based filtering
  • Batch Operations: Multiple attestations can be queried simultaneously

Key Functions:

// Register an attestation as an issuer
function registerAttestationAsIssuer(
    bytes32 identifier,
    address account,
    uint64 issuedOn
) external

// Lookup attestations for an identifier across multiple issuers
function lookupAttestations(
    bytes32 identifier,
    address[] calldata trustedIssuers
) external view returns (
    uint256[] memory countsPerIssuer,
    address[] memory accounts,
    address[] memory signers,
    uint64[] memory issuedOns,
    uint64[] memory publishedOns
)

Deployed contract addresses for mainnet and Alfajores are listed in Reference & Resources.

Issuer Ecosystem

Issuers are independent entities that:

  1. Verify user ownership of identifiers through their chosen method
  2. Request obfuscated identifiers from ODIS
  3. Register attestations to the FederatedAttestations contract
  4. Maintain ODIS quota for continued operations

Applications choose which issuers to trust based on:

  • Verification rigor
  • Reputation
  • Use case alignment
  • Uptime and reliability
Was this page helpful?