⚒️Protocol specs

Protocol specifications and capabilities

rep3 protocol is currently live on Polygon Mainnet and Polygon Mumbai. Base, Arbitrum, Optimism, Avalanche coming soon.

ERC721 Reward

Contracts ->

1. Badge: The badge is the our ERC721 implementation for NFT-based rewards

2. Badge Factory: BadgeFactory deploys Beacon proxy contracts with Badge as the implementation contract

3. Router: The Router is the forwarder contract that forwards requests to proxies (via ERC2771).

6. Upgradable Beacon: For more information, see the Beacon proxy API here.

7. Token: The rep3 token contract has the following additional storage variables along with ERC721 implementation in Solmate's ERC721:

  • tier (uint8): The 8 bits of this variable store the tier of the badge

  • data (uint256): The 256 bits of this variable can store any custom value depending upon the use case for seamless consumption in protocols

Capabilities ->

Admin level settings

  • MAX_TOKENS_PER_ADDRESS -> Max tokens allowed per address, default 1

  • Transferability -> If tokens can be transferred by a user, default false

  • Burnability -> If tokens can be burned by a user, default false

  • Approvability -> If users can set approvals for tokens, default false. Set it to true if you want to allow users to sell their NFTs on marketplaces like Opensea etc

Mint options

  • Direct mint which gives rep3 bot the minter rights

  • ECDSA vouchers

  • Merkle Root

Admins can set roles as per their need having robust Access and Permissions. We use Solmate's RolesAuthority for authentication.

Metadata ->

The protocol uses Arweave to store the metadata associated with tokens

Last updated