Galileo Protocol · MMXXVI

ONCHAINID Integration

ONCHAINID provides on-chain identity contracts that store verifiable claims about participants. Galileo uses ONCHAINID for KYC/KYB verification in compliant token transfers.

Claim Topics

Galileo defines 12 standard claim topics:

Topic IDNamePurpose
1KYCIndividual identity verified
2KYBBusiness identity verified
3AMLAnti-money laundering cleared
4ACCREDITEDAccredited investor status
10BRAND_ISSUERAuthorized to create product DIDs
11SERVICE_PROVIDERAuthorized service provider
20COUNTRYCountry of residence/registration
21JURISDICTIONRegulatory jurisdiction

Identity Contract

Each participant deploys an Identity contract using CREATE2 for deterministic addresses:

interface IIdentity {
    function addClaim(
        uint256 topic,
        uint256 scheme,
        address issuer,
        bytes calldata signature,
        bytes calldata data,
        string calldata uri
    ) external returns (bytes32 claimId);

    function getClaim(bytes32 claimId)
        external view returns (
            uint256 topic,
            uint256 scheme,
            address issuer,
            bytes memory signature,
            bytes memory data,
            string memory uri
        );

    function getClaimIdsByTopic(uint256 topic)
        external view returns (bytes32[] memory);
}

Trusted Issuers

Claims are only valid if issued by trusted issuers registered in the TrustedIssuersRegistry:

  • KYC providers (Onfido, Jumio, etc.)
  • Accreditation bodies
  • Brand verification services

Transfer Verification Flow

  1. Token transfer initiated
  2. Compliance module queries receiver's ONCHAINID
  3. Required claim topics checked (KYC, COUNTRY, etc.)
  4. Issuer validity verified against TrustedIssuersRegistry
  5. Transfer approved or rejected

Privacy Considerations

Claims use minimal disclosure:

  • Claim data can be hashed (only hash stored on-chain)
  • Actual data stored off-chain with controlled access
  • Zero-knowledge proofs supported for sensitive claims