Guide: How it works

Sentinel Process Flow

On initialization, the KYC Controller admin can define a set of valid countries and investor statuses that KYC Registrars will use for user KYC verification.

Each entry is assigned a unique ID—for instance, “US” may be mapped to 0, and “France” to 1. Similarly, investor statuses like “standard” and “accredited” may correspond to 0 and 1, respectively. KYC Registrars can only use these predefined IDs when verifying users, ensuring compliance with valid criteria.

The admin can then appoint KYC Registrars, specifying the registrar’s account address, name, description, and image. If necessary, the admin can pause or remove a KYC Registrar from the module.

KYC Registrars will then be able to verify a user’s identity and set their country and investor status. Each user is limited to management by a single Registrar to prevent conflicts.

The KYC Controller admin also sets transaction policies, which consist of the following properties:

  • Blacklist countries: Transactions are blocked if either the sender or receiver's country is blacklisted by the other party.
  • Can Send: Controls whether users under this policy can initiate transactions.
  • Can Receive: Controls whether users can receive transactions.
  • Max Transaction Amount: Defines the maximum amount allowed per transaction.
  • Apply Transaction Count Velocity: Enforces a cap on the number of transactions from a single address within a specific timeframe. It includes:
    • Transaction Count Velocity Timeframe: Duration (in seconds) for which the transaction count limit applies.
    • Transaction Count Velocity Max: The maximum allowable transactions within the timeframe.
  • Apply Transaction Amount Velocity: Enforces a cap on the total transaction amount from a single address within a specific timeframe. It includes:
    • Transaction Amount Velocity Timeframe: Duration (in seconds) for which the amount limit applies.
    • Transaction Amount Velocity Max: The maximum transaction amount within this timeframe.

When transactions or balance modifications occur, these checks are enforced based on the user’s identity and relevant transaction policies.

Successful transactions must pass all applicable checks, ensuring regulatory compliance and security.