Skip to main content

SSI Integration

Learn how to configure Self-Sovereign Identity (SSI) for your security token.

Overview

Self-Sovereign Identity (SSI) is an optional advanced feature that enables decentralized identity verification using verifiable credentials (VCs). SSI allows investors to control their own identity data while maintaining regulatory compliance.

Note: SSI integration is optional. You can use Internal KYC or External KYC Lists instead. See Managing Compliance for alternatives.

What is SSI Configuration?

From Control → SSI Manager, you can configure two things:

  1. Revocation Registry Address: Contract address that tracks revoked credentials
  2. Issuers: Accounts authorized to issue Verifiable Credentials for KYC approval

Prerequisites

  • Security token deployed
  • SSI_MANAGER_ROLE assigned to your account
  • Revocation registry address (from your SSI provider)

Accessing SSI Manager

  1. Navigate to your security token in the dashboard
  2. Select Admin View (green)
  3. Go to ControlSSI Manager

Step 1: Set Revocation Registry Address

The revocation registry (also known as Identity Registry in ERC-3643) is a smart contract that verifies investor eligibility and tracks which credentials have been invalidated.

What is the Identity Registry?

The Identity Registry is part of the ERC-3643 standard (T-REX protocol). It provides:

  • Identity verification: Checks if an investor's identity is valid
  • Credential revocation: Tracks invalidated credentials
  • Eligibility checks: Verifies investor meets compliance requirements

During token transfers and mints, the smart contract calls isVerified(address) on this registry to check investor eligibility.

When to Configure

You have two options:

Option 1: During token creation (recommended)

Option 2: After token creation

  • If you didn't configure it during creation, you can set it here from Control → SSI Manager

How to Configure

  1. In ControlSSI Manager, look for "Revocation Registry" or "Identity Registry" section
  2. Click "Set Revocation Registry" or "Configure"
  3. Enter the Identity Registry contract address
  4. Confirm the transaction

Where to get the address:

  • Provided by your SSI provider (e.g., Terminal 3)
  • Different addresses for testnet and mainnet
  • For Hedera Testnet: 0x77Fb69B24e4C659CE03fB129c19Ad591374C349e (example)

Important: The Identity Registry address is provided by your SSI provider. Contact them to obtain the correct address for your network.

Note: Only accounts with T_REX_OWNER or SSI_MANAGER_ROLE can configure the Identity Registry.

Step 2: Manage Issuers

Issuers are accounts authorized to issue Verifiable Credentials that grant internal KYC approval.

Add an Issuer

  1. From ControlSSI Manager, locate the "Issuers" section
  2. Click "Add Issuer"
  3. Enter the account address (Hedera ID or EVM address)
  4. Confirm the transaction

Important: You are adding an account address as an issuer. This account will have permission to upload Verifiable Credentials to grant KYC.

View Issuers

In the Control → SSI Manager section, you can view:

  • List of all configured issuers
  • Account addresses
  • When they were added

Remove an Issuer

  1. In Control → SSI Manager**, find the issuer in the list
  2. Click "Remove" or the delete icon
  3. Confirm the transaction

How SSI KYC Works

Once you've configured the revocation registry and issuers:

  1. Issuers can grant KYC by uploading Verifiable Credentials from Control → KYC (same as internal KYC)
  2. Token checks credentials: During transfers, the token verifies the credential against:
    • Issuer is on the approved issuer list (configured in SSI Manager)
    • Credential is not revoked (checked against revocation registry)
  3. If valid: Transfer proceeds
  4. If revoked or invalid: Transfer is blocked

Relationship with Internal KYC

SSI configuration works with the internal KYC system:

  • Issuers configured here can upload Verifiable Credentials to grant internal KYC
  • Revocation registry is checked to validate those credentials haven't been revoked
  • KYC granting still happens from Control → KYC (see Managing Compliance)

Required Roles

  • SSI_MANAGER_ROLE: Required to configure revocation registry and manage issuers

See Roles and Permissions for more details.

Troubleshooting

Cannot Set Revocation Registry

Problem: Transaction fails when setting revocation registry

Solutions:

  • Verify you have SSI_MANAGER_ROLE
  • Check the contract address is valid
  • Ensure sufficient HBAR for transaction

Cannot Add Issuer

Problem: Transaction fails when adding issuer

Solutions:

  • Verify you have SSI_MANAGER_ROLE
  • Check the account address format is correct
  • Ensure the address is not already an issuer

Test Addresses (Hedera Testnet)

For testing SSI configuration on Hedera Testnet:

  • Revocation Registry: 0x77Fb69B24e4C659CE03fB129c19Ad591374C349e
  • DID Registry: 0x312C15922c22B60f5557bAa1A85F2CdA4891C39a

Note: For production, obtain the correct revocation registry address from your SSI provider (e.g., Terminal 3).

Next Steps


Remember: SSI is optional. For simpler KYC management, see Managing Compliance for internal and external KYC options.