Protocol account management

Protocol users have different roles:

  • Seller

  • Buyer

  • Dispute resolver

  • Agent

  • Royalty recipients

Some protocol actions are restricted and can be invoked only by a certain role.

Roles can be divided into:

  • simple roles. The account has a single Ethereum address which controls all its actions. Simple roles are buyer , agent, and royalty recipient

  • complex roles. The account has multiple Ethereum addresses, with different responsibilities:

    • admin. Manages other roles and entity data.

    • assistant. Performs day-to-day protocol operations.

    • treasury. Does not perform any protocol action, but it's the only address to which entity funds can be withdrawn.

    Complex roles are seller and dispute resolver.

The protocol imposes no limitations on the account type used - it can be an externally owned account, smart contract account or EIP-7702 smart account.

Protocol entity identifiers

The protocol assigns a unique identifier to each protocol entity and does not use the Ethereum address as the identifier. The main reason is to enhance the security - if a user's account is compromised, the entity can switch the Ethereum address and retain the protocol entity ID, all its active echanges and history. Additionally, it allows complex roles to exist, since multiple Ethereum addresses can be assigned to a single unique protocol ID.

Last updated