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