# Revenue sharing Almost all applications rely on external programs developed by others (e.g. libraries, web services, or code snippets). Similarly, ExeTokens can be constructed by combining external smart contracts and other ExeTokens. The creators and owners of these external programs the ExeTokens rely on are called Contributors. If there is any revenue due to reasons such as ExeToken being purchased or donations being received, it will be shared among contributors. The revenue sharing mechanism is built into the basic design of ExeToken and is automatically executed by our smart contracts. ## Contributor types and revenue share rates The types of contributors and the revenue share rate for each contributor in ExeToken are as shown in the table below. | Type | Description | Share | | -------- | -------- | -------- | | creator | The programmer who implemented the function stored in ExeToken. The address of the creator is also stored as a part of data of ExeToken and immutable unlike owner. The creator can recieve revenue permanently every time payout is made to the ExeToken. | 20% | | owner | The owner of the ExeToken. Usually, the initial owner is the creator. The ownership can be transferred to others by selling or transferring the ExeToken.| 60% if ExeToken has dependencies, otherwise 80% | |ownerOfContractDependee| The owner of the external smart contract the ExeToken rely on. Here, 'the external smart contract' means the smart contract called by 'staticcallContract' function in ExeToken function.|Value obtained by dividing 20% by the number of all dependees. | |ownerOfTokenDependee| The owner of the external ExeToken the ExeToken rely on. Here, 'the external ExeToken' means the ExeToken called by 'executeToken' function in ExeToken function.|Value obtained by dividing 20% by the number of all dependees. | ## Example As an example of how revenue sharing works, consider an ExeToken with the following structure. ExeToken #0 has two dependencies, ExeToken #1 and the smart contract 'A'. <br/> ![](https://hackmd.io/_uploads/H1S0fJ6V2.png) <br/> If there is a payout of 100ETH for ExeToken #0, the revenue sharing will be: ![](https://hackmd.io/_uploads/Hkb0N1T4h.png) <br/> If there is a payout of 100ETH for ExeToken #0, the revenue sharing will be: First, the creator of ExeToken #0 has contributor type 'creator' and its share is 20%. Therefore, the creator address receives 20ETH. Next, the owner of ExeToken #0 has contributor type 'owner'. In this case, the share of the owner is 60% because ExeToke #0 has dependencies. Therefore, the owner address receives 60ETH. The rest share 20% is distributed to the owners of the dependencies evenly. Therefore, the owner of ExeToken #1 and the owner of the smart contract 'A' both receives 10% of 100ETH(=10ETH).