Compliance registry
Bridge Protocol's compliance registry is responsible of the storage of all identity information linked to an address or the storage of the history of transfers linked to an address.
KYC/AML providers
Bridge Protocol is a tool to enforce and manage on-chain compliance rules that come from off-chain regulation. Therefore, someone needs to be the link between both worlds, updating on-chain what has been validated off-chain. We call that entity a KYC/AML provider.
Bridge Protocol supports compliance delegation, i.e. enabling multiple KYC/AML providers to work on the same token. For example, if your token is distributed to both US investors and European investors, you can have a US provider managing the compliance of US investors, and a European provider managing the compliance of European investors.
A KYC/AML provider can be yourself and/or third-party entities.
A token can have as many providers as you want.
You can add and remove providers to a token at any time.
Compliance registry
The Compliance Registry is responsible of the storage of all identity information linked to an address or the storage of the history of transfers linked to an address. The compliance registry is managed by trusted intermediaries, the KYC/AML providers. Each trusted intermediary has its own space within the registry to update its own address related information. Based on the token trusted intermediaries, the Compliance Registry will return the compliance information that have been updated by one of the token trusted intermediary.
The Compliance Registry is designed to store only pseudo-anonymized data (no Customer Identification Data).
To be able to maintain a single reference currency for transfers history, the Compliance Registry will use the Price Oracle.
Attributes nomenclature
Attributes is an array of uint256.
Attribute ID | Attribute name | Attribute description |
0 | ATTRIBUTE_VALID_UNTIL | User validity end date (UNIX timestamp) |
100 | ATTRIBUTE_USER_KYC | User KYC level |
110 | ATTRIBUTE_AML_TRANSFER_LIMIT | User single transfer limit in referrence currency |
111 | ATTRIBUTE_AML_MONTHLY_LIMIT | User monthly transfer limit in referrence currency |
112 | ATTRIBUTE_AML_YEARLY_LIMIT | User yearly transfer limit in referrence currency |
120 | ATTRIBUTE_FREEZE_DIRECTION | User freeze direction |
FREEZE_DIRECTION_NONE (0) | Not frozen | |
FREEZE_DIRECTION_RECEIVE (1) | Frozen as token receiver | |
FREEZE_DIRECTION_SEND (2) | Frozen as token sender | |
FREEZE_DIRECTION_SEND (3) | Frozen as token sender | |
FREEZE_DIRECTION_BOTH (4) | Frozen as token sender and receiver | |
121 | ATTRIBUTE_FREEZE_START | User freeze start date (UNIX timestamp) |
122 | ATTRIBUTE_FREEZE_END | User freeze end date (UNIX timestamp) |
123 | ATTRIBUTE_FREEZE_INVERTED | Specifies if start date and end date period has to be inverted |
FREEZE_INVERTED_NO (0) | Freeze period not inverted | |
FREEZE_INVERTED_YES (1) | Freeze period inverted | |
130 | ATTRIBUTE_WHITELISTED | Global whitelist flag |
WHITELISTED_NO (0) | User not whitelisted | |
WHITELISTED_YES (1) | User whitelisted |
Last updated