# Proof Of Donation

Total genesis allocation for Presale, TDF and Blockchain Virus amounts to 308,804,813.69 TZL. During betanet this allocation is **delegated** to bakers who support development by donating XTZ.

TzLibre bakers can donate any amount of XTZ to a trustless KYC-Tezos smart contract designed to track XTZ donations and deployed at address [KT1LGscYq8SwwbXXg1Z6ctDrHjMGnfEkjB8X](https://better-call.dev/main/KT1LGscYq8SwwbXXg1Z6ctDrHjMGnfEkjB8X/script) on KYC-Tezos instantiation.

The amount of 308,804,813.69 TZL will be delegated to donors proportionally to their overall support over time (e.g., a baker who donated 10% of all XTZ raised by the smart contract over time, will have a 30.8M TZL delegation).

Every three cycles delegations will be updated according to new donations.

### Example

Here follows an example of how delegations are computed proportionally to donations.

{% hint style="info" %}
Assuming that at a certain time a total of 8000 XTZ have already been donated and 300,000,000 TZL are still available to be delegated though PoD.

Alice, who never made a donation before, donates 2000 XTZ. She will receive a delegation of 60,000,000 TZL to her baker address. It corresponds to 20% of the total amount that can be delegated though PoD.

Now say that Bob makes a donation of 500 XTZ. The total donated amount is now 10,500 XTZ. The previous Alice donation of 2000 XTZ now represents 19.05% of the total donated amount. The amount of TZL delegated to Alice's baker will be updated accordingly to 57,150,000 TZL.

At this point Alice makes a further donation of 260 XTZ, resulting is a total donation by Alice of 2260 XTZ. She now is the donor of the 21% of total donations and the amount of TZL delegated to Alice's baker will be updated accordingly to 63,000,000 TZL.
{% endhint %}

### How to interact with PoD contract

You can use tezos-client or you can use [TzLibre PoD dashboard](https://pod.tzlibre.io/).

### How to donate using tezos-client

```
tezos-client transfer {AMOUNT} from {FROM_ADDRESS} to KT1LGscYq8SwwbXXg1Z6ctDrHjMGnfEkjB8X --burn-cap 0.1 --arg 'Left (Pair "{ADDRESS_DONOR}" "{ADDRESS_DELEGATION_BENEFITER}")'
```

* **{FROM\_ADDRESS}**: address of transaction signer.
* **{ADDRESS\_DONOR}**: address of donor (most of time it coincides with FROM\_ADDRESS)
* **{ADDRESS\_DELEGATION\_BENEFITER}**: address of the one that will receive the delegate (most of time it coincides with FROM\_ADDRESS)

### How to change delegation benefiter using tezos-client

Execute a transaction with amount 0, rewriting the **{ADDRESS\_DELEGATION\_BENEFITER}** field.

```
tezos-client transfer 0.1 from {FROM_ADDRESS} to KT1LGscYq8SwwbXXg1Z6ctDrHjMGnfEkjB8X --burn-cap 0.1 --arg 'Left (Pair "{ADDRESS_DONOR}" "{ADDRESS_DELEGATION_BENEFITER}")'
```

#### PRO tip

If you don't want to sync a *tezos-node*, use this alias:

```
alias tezos-client="docker run -e TEZOS_CLIENT_UNSAFE_DISABLE_DISCLAIMER=Y -v ~/.tezos-client:/var/run/tezos/client -it tezos/tezos:mainnet tezos-client --tls --addr teznode.letzbake.com --port 443"
```

### How to check my delegation share?

Go to [pod.tzlibre.io](https://pod.tzlibre.io/) and paste your address.
