var img = document.createElement('img'); img.src = "https://terradocs.matomo.cloud//piwik.php?idsite=4&rec=1&url=https://docs.enterprise.money" + location.pathname; img.style = "border:0"; img.alt = "tracker"; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(img,s);
Skip to main content

Register a DAO with FeeShare

The x/FeeShare module on the Terra blockchain allows smart contracts to receive a portion of the gas fees generated by interactions with the contract. For more information on this module, visit the FeeShare spec. To learn how to register a smart contract with feeshare, visit the registration guide.

To register a contract with the FeeShare module, DAOs will need to specify a contract they want to register and an address they want a portion of generated fees sent to called the Withdrawer address. Any fees generated by an interaction with the registered contract will be portioned and distributed to the Withdrawer address.

Because the admin of an Enterprise DAO contract is the DAO itself, any address can be set as the Withdrawer address. This address could be the treasury address or any other address the DAO chooses.

Setting a withdrawal address

It is not recommended to use the distributor address as the withdrawal at this time as it does not distribute funds unless there's a {"distribute":{}} message included with the send. This will be remedied in the next update.

DAO registration guide

Follow this guide to register your DAO's contracts with the FeeShare module.

Registering each contract

You will have to submit this proposal each time you want to register a contract for your DAO, including the DAO, distributor, and token contracts, as long as the DAO created the token or is the admin of the contract. A DAO can only register a contract it is the admin of.

  1. To register an Enterprise DAO with Terra's FeeShare module, you will need to locate the DAO’s contract addresses on the DAO’s home page.

  2. Create a new governance proposal by visiting the proposal tab and selecting New Proposal.

  3. Scroll down and select Register an address for fee sharing. Click Next.

  4. Enter a Title and description for your proposal.

  1. in the Contract address field, enter the address of the contract you want to be registered with the fee share module.

  2. In the Withdrawer address field, enter the address you want the generated share of fees to be sent to.

    Any fees generated by an interaction with the contract in the Contract address field will be portioned and distributed to the Withdrawer address.

  3. Press Create and sign the transaction. Your governance proposal will appear under the proposal tab.

After successfully passing, you can click the Execute button on the proposal to execute the proposal, register your contract, and start earning a portion of fee revenue.