ADR-47: Collections secondary marketplaces v2

More details about this document
Latest published version:
GitHub decentraland/adr (pull requests, new issue, open issues)
Edit this documentation:
GitHub View commits View commits on

Statement of the problem

The current marketplaces (Marketplace & Bid) have two fees, a publication fee which is charged to the seller of the asset once they create an order, and a cut fee which is deducted to the seller to the final price when an order/bid is executed. For the time being, the publication fee is 0 and the cut fee is 2.5%. Those fees go to the owner of the smart contract. Here, arise the first issue, the owner of the smart contract is not always where we want to send the fees making the management of those fees hard. The second one, and the most important, is that it doesn't support royalties for user-generated collections assets (Decentraland collections v2).

Solution proposed


The publication and cut fees go to the fees collector instead of the owner.

A new fee is added: Royalties fees. The royalties fees apply only when an order or bid is executed.


There are two new roles:

Fees collector: the publication and cut fees go there keeping the owner of the contract as a different entity. The owner of the contract can change the fees collector.

Royalties Manager: not completely a new role but a module. This contract will return where the royalties fees must go. Find the specs here. The owner of the contract can change the royalties manager contract. This allows using further versions of the royalties manager.

Small enhancements

This is not part of the main reason, but also the Solidity version is updated to 0.8 and the error messages are standardized.




Copyright and related rights waived via CC0-1.0. Living