Account Linking

Buyers and sellers within Ink Protocol are designated by their Ethereum addresses, which is how you uniquely identify and pay a specific user. Over time, users may accumulate multiple addresses that they use on different marketplaces or apps. Ink Protocol allows users to link addresses they own to merge their feedback and transaction histories and create a single reputation.


Linked addresses cannot be unlinked.

The concept of linked addresses is only used by reputation services (and possibly explorer services) since those are the channels through which a potential buyer would view a seller's reputation. A successful link requires mutual/reciprocated links, so reputation systems must all keep this in mind when evaluating and representing an account's reputation. For example, Address A has declared a link with Address B, but Address B did not reciprocate. This linking should mean nothing to the eyes of the reputation service.

Linking is merely expressed by the emission of an event (AccountLinked). There is no state change to the contract since the contract does not need any linking data to operate.

event AccountLinked(
  address indexed from,
  address indexed to

To declare a link to another address, use the following function:

function link(address _to) external;

The msg.sender is the implied from address. Remember that once a link has been created, it is permanent.