Hey, that's an awesome question. As it exists right now, the Friendowment service provides a mechanism that enables you to create what are essentially controlled shared accounts with people that you trust.
These shared accounts (we call them "Endowments" in the application) must be assigned an "Endowment Policy" that governs how the shared funds may be used. Right now we only have a couple of policies, but there's no practical limit to how the number or nature of those policies can evolve. The current policies are: "0.25 ETH over 30 days" and "Unrestricted withdrawal by maker only." The first enables a participant to withdraw 0.25 ETH more than they contribute within a 30 day period while the second is designed to enable multiple people to contribute to a fund that is accessible for withdrawal only by the person who created it.
We get that. But we think it'll make sense when you get in to it. And transparency is important to us, so we'd rather leave you a little confused than obscure any important detail. One of those important details is how the calculations for contributions and withdrawals are performed. It's very straightforward, but a little involved: Except for endowments that are created for the benefit of the maker only, you can always withdraw the amount that you have contributed minus any proportionally adjusted debits that have been withdrawn by others since your contribution. Commit that to memory.
An example may help illuminate things.
Alice contributes 0.5 ETH (approx. $500 at the time of this writing) to an endowment. Bob contributes 0.25 ETH. Eve is a particpant but hasn't contributed any funds.
A 0.05 ETH over 30 days policy is in force.
Eve withdraws 0.05 ETH (approx. $50). Since Eve has 0 ETH in contributions, her balance does not change. Alice's (0.5 ETH) and Bob's (0.25 ETH) balances are reduced based on their proportion of the endowment total balance (0.75 ETH).
That means that Alice now has a balance of: 0.5 - ((0.5/0.75) * 0.05), or 0.467 ETH. Bob has 0.25 - ((0.25/0.75) * 0.05), or 0.233 ETH. Alice has covered 0.033 ETH of Eve's need and Bob has covered 0.017 ETH.
Per the applied policy, Eve has now exhausted her ability to withdraw from shared funds for 30 days (although she can contribute as much as she wants and withdraw all of that, adjusted for any shared expenses that may occur).
Bob has a sudden need and withdraws 0.27 ETH. His withdrawal of that amount exhausts his 0.233 ETH balance and pulls 0.037 ETH from shared funds. In this case, that reduces Alice's balance to 0.43 ETH.
Per the applied policy, Bob's shared withdrawal ability shrinks to 0.013 over the next 30 days.
The following image shows what the above transactions would look like on a spreadsheet. The image also displays a few additional transactions to illustrate (in red) how transactions would be denied according to the policy set on this example endowment (assuming all were made within a 30-day window).
To view the formulas in that example spreadsheet, you can click the image above to visit the document on Google Sheets.
Indeed. But that's exactly the point (or at least, a point) of this service. we want to provide a way for generous people to help one another. And to do so in a way that's preparatory rather than reactionary.
That means that sometimes a few of us shoulder a greater burden than others. That's okay. Alice knows that and is an enthusiastic participant.
And ideally, an endowment will have enough participants that one person will not bear the brunt of the load like Alice. The more of us who act generously, the less burdensome such urgent needs will be for all of us.
Please drop us an e-mail at email@example.com. We'll post about any challenges that we already know about here as they're discovered.