# How to set up a DGM

**URL:** <https://forum.universal-credit-system.org/t/how-to-set-up-a-dgm/105>\
**Category:** Documents and Sources\
**Created:** [July 12, 2022, 12:42pm UTC](https://forum.universal-credit-system.org/t/how-to-set-up-a-dgm/105 "2022-07-12T12:42:52Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![m0e](https://forum.universal-credit-system.org/user_avatar/forum.universal-credit-system.org/m0e/32/74_2.png) [@m0e](https://forum.universal-credit-system.org/u/m0e)\
**Post date:** [July 12, 2022, 12:42pm UTC](https://forum.universal-credit-system.org/t/how-to-set-up-a-dgm/105/1 "2022-07-12T12:42:52Z")

</div>

**HOW TO SET UP A DGM**

This topic is about how you can set up a _**decentralized governance model (DGM)**_. A DGM can be used to easily map a given ownership structure.

To understand how UCS has implemented the idea of DGMs simply imagine the stocks of a company: depending on the number of stocks you own you also own a part of that company. At some point the revenue of this company will be distributed among the owners of the stocks.The percentage of the revenue your will get is equal to the percentage of the company you own by the stocks. In UCS the concept of DGMs is limited to the fair distribution of amounts sent to that DGM among the DGM participants.

From a technical point of view a DGM consists of two assets: a fungible asset used to receive the revenues and a fungible or non-fungible asset that is used to reflect the owners. So the ‘stocks’ are simply fungible or non-fungible assets! Every owner of such a fungible or non-fungible asset will be considered as ‘stock owner’. The asset that is used to reflect these property rights is defined as ‘asset\_owner=’ of the asset that is used to receive the revenues. The first asset acts as central receiver address for the owners of the second asset.

The DGM has no voting process about what to do with the balance like it is done within the Ethereum DAO. The users have to make agreements outside UCS and then forward the balances themself.

**STEP 1 : SET UP A FUNGIBLE ASSET**

This asset/token will act as address for all owners of asset `DGM.1655676000`.

example asset `DGMT.1655676000`:

`asset_description=DGMToken`  
`asset_owner=DGM.1655676000`  
`asset_price=1.000000000`  
`asset_fungible=1`

**STEP 2 : SET UP A FUNGIBLE OR NON FUNGIBLE ASSET AS OWNER**

Choose a non-fungible asset if you wish to have a fix number of property rights that cannot be increased. This means that other users cannot join the DGM on their own.

example non-fungible asset `DGM.1655676000`:

`asset_description=DGM`  
`asset_quantity=1000.000000000`  
`asset_owner=9d8c98a97b2c3e689afef90310a35130bde86fd6f43ef6764b391c40ba37f8dd.1613477808`  
`asset_fungible=0`

Choose a fungible asset if you want to have no fix number of property rights. This means any other user can join the DGM by simply transferring a amount to this asset:

example fungible asset `DGM.1655676000`:

`asset_description=DGM`  
`asset_price=1.000000000`  
`asset_fungible=1`

---

<div class="post-metadata">

**Author:** ![m0e](https://forum.universal-credit-system.org/user_avatar/forum.universal-credit-system.org/m0e/32/74_2.png) [@m0e](https://forum.universal-credit-system.org/u/m0e)\
**Post date:** [October 16, 2024, 10:37am UTC](https://forum.universal-credit-system.org/t/how-to-set-up-a-dgm/105/2 "2024-10-16T10:37:13Z")

</div>

Removed possibility to add a owner for a fungible asset (DGM) with commit [6ab209f](https://github.com/universal-credit-system/wallet/commit/6ab209f) as it leads to unsolvable problems in view of timing. As the ledger is being built iteratively after any detected changes there is no way to determine which transactions have been received properly on time and which have been received afterwards. The next time the ledger is build the client cannot distinguish between transactions received on time and transactions that were incoming after point of transfer, but were created before point of transfer. So it would be impossible to correctly distribute any amounts sent to that asset. Therefore **the code representing the DGM has been removed out of the wallet and maybe moved into seperate contract logic** in future.

---

<div class="post-metadata">

**Author:** ![m0e](https://forum.universal-credit-system.org/user_avatar/forum.universal-credit-system.org/m0e/32/74_2.png) [@m0e](https://forum.universal-credit-system.org/u/m0e)\
**Post date:** [October 16, 2024, 10:37am UTC](https://forum.universal-credit-system.org/t/how-to-set-up-a-dgm/105/3 "2024-10-16T10:37:24Z")

</div>


