Not all folks are comfortable just jumping in to a new application or service. And that's especially true when you're dealing with finances. If you'd like to familiarize yourself with our service and flatten out that learning curve a bit, spend a few minutes reviewing the walk-through on this page.
The first thing you'll encounter after receiving an invitation and visiting the associated link is our account creation page.
There's not much mystery here: we want to get your account created and you authenticated in as few steps as possible so that you can begin doing more interesting things. You'll add more information after the first time you log in.
And here it is; your first login.
Here we ask you a few more questions. This contact information will help us to know how to correspond with you.
Things are beginning to get a bit more interesting now. This page allows you to view and create Endowments. An Endowment is an account that can be shared with other Friendowment customers to accomplish common objectives (e.g., to establish a shared "Rainy Day Fund").
An Endowment Policy must be specified for any Endowment you create. The available policies are self-descriptive and may be viewed by clicking the "Select Policy" dropdown menu. A current (as of 02/2018) policy is "0.25 ETH every 30 days." That policy allows any participant to withdraw 0.25 ETH more than they have contributed every 30 days (assuming there are sufficient available funds in the Endowment, of course).
Creating an Endowment here initiates the creation of a new Ethereum contract. That action incurs a small network fee which is currently paid by the Friendowment service (so that you can create an Endowment with a 0.000000 balance in your account).
Because it involves a blockchain transaction, your Endowment will initially show as "PENDING." That will change to "CONFIRMED" when the block has been mined and the Endowment is ready to be used.
Here we have a fully-formed endowment ready to be configured and accept contributions. In this view, you can see the "Make Contribution" and "Make Withdrawal" functions.
Endowment balance details are also visible: the Available Balance will show the current Ethereum contract balance as reported by the blockchain. "Pending Contributions" is the sum of all contributions that have been submitted but have not yet been confirmed by the blockchain. Similarly, "Pending Withdrawals" represents the sum total of unconfirmed withdrawal transactions.
This is the lower portion of the Endowment detail page. In addition to what was shown previously, you have the ability to change the description of the Endowment (this is what will be displayed to people who you invite to participate). You can also see the input box where you invite new participants here. Only participants who are members of Friendowment can be invited to participate in an Endowment, so you'll need to be sure that the person you invite is already signed up (the application will warn you if they aren't).
At the bottom, there will be either one or two tables. The "Available Balance Contributions" table displays the current portion of the Endowment that is available for each participant to withdraw without tapping the shared funds. This is the weighted calculation of how much each participant has contributed after being adjusted for any shared withdrawals that have been completed.
If transactions have been submitted on this Endowment, there will also be a table showing the detail of those transactions below the "Available Balance Contributions" table.
Here you can see the description being updated. A successful update will generate the green notification at the top of the screen.
The Endowment list will now reflect the description you've provided instead of the Endowment's unique identifier.
Inviting someone to particpate in your Endowment is as easy as typing their e-mail address in to the "Add Participant" box and clicking "INVITE." You'll need to be sure that your invitee is a member of Friendowment and that the e-mail address you type in this box matches what they have on-file with the Friendowment service.
As the creator of this Endowment (the "maker"), you are the only one who can invite new members: people who accept your invitations will not be able to invite other people. Also, you are the only one who can update the Description.
As currently designed, the Endowment Policy can not be changed (although you can always create another Endowment with a different policy). In the future, we may build a mechanism to allow for policies to be updated with the unanimous consent of all participants.
We can't imagine a situation where someone would not want to join an Endowment they've been invited to. But we provide the option to decline nonetheless.
Once you accept an invitation to join an Endowment, a transaction is submitted to the underlying Ethereum contract to add your Ethereum address as a member. This screen displays the Ethereum transaction identifier as a link that you can click to view the status of the transaction. The link will take you to a public blockchain explorer outside of Friendowment.
As soon as the subscription transaction is confirmed, the pending notification will disappear and the new Endowment will appear in your list, ready for you to interact with.
We've taken measures to significantly reduce friction for any activities that involve transactions on the underlying blockchain. In our first versions of the application, we relied on the sending Ethereum account (generally, yours) to fund any transaction fees directly.
That seemed to make a lot of sense, but reality quickly reared its head. What that meant was that a user could not submit a transaction if they didn't already have ETH in their account. Even withdrawing funds carries a small cost.
After pondering the problem a bit, we realized that we could adjust the underlying Ethereum contract code such that transactions for Endowment creations, subscriptions, and withdrawals could be submitted from one address (e.g., a dedicated system account) to benefit another (i.e., you). We promptly made those changes.
Unfortunately, we haven't found a good way to do that for contributions, so you'll need to account for those fees when you make a contribution. A confirmation dialog box will show you the estimated fee and allow you to cancel and adjust your contribution if you need to. For example, if the fee is 0.000021 ETH (which it very often is, but will vary), and you want to contribute all of 2.000000 ETH that you have in your account, you'll need to submit the request for 1.999979 ETH.
After submitting a successful contribution request, you'll receive this green notification. Also notice that the Pending Contributions figure will increase to match what you've submitted. As this is a blockchain transaction, it will need to go through the standard mining and confirmation process.
Here's another indication that your contribution is working its way through the system. A transacation will be added in the bottom table with a link in the "Status" column. That link will take you to an external blockchain explorer where you can view the status of your transaction in realtime.
After a brief period of time (it should generally be less than 5 minutes with the Ethereum gas prices that we have configured) your PEND (pending) transaction will change to CONF (confirmed). At that point, the "Pending Contributions" balance will also decrease and the "Available Balance" will increase to reflect your contribution. Each of those interface elements are updated independently, so don't stress out if you see one change and the other lags a bit; there is no such disconnect in the underlying blockchain. The confirmation of a transaction on the blockchain immediately increases the balance of the Ethereum contract.
At some point, the purpose of your Endowment is fulfilled and it comes time to draw on what you (and your team) have put away. Withdrawals are executed from the the system Ethereum address (so that you can make them even if you have a 0.000000 ETH balance). As such, there is no confirmation dialog like with contributions; as soon as you click "WITHDRAW", the transaction is submitted for processing.
As with contributions, a withdrawal request results in the "Pending Withdrawals" figure increasing and a new transaction is added to the bottom Transactions table. The status of that entry reflects the blockchain status (NEW when just created, PEND when waiting for the blockchain to confirm, and CONF when the transaction is complete and confirmed.