Trickle is a blockchain application that lets two parties create secure fixed hourly rate agreements. The smart contract locks the reward for the recipient and releases it in a linear proportion to time.
First of all, smart contracts in Ethereum work with tokenized assets, meaning that if you want to create a secure agreement in USD or any other currency, you have to purchase so-called stablecoins on the exchange first (which are 1:1 to USD), and then proceed with creating an agreement in stablecoins. Later, you might want to change them back to USD at 1:1 rate (excluding a little 1-2% exchange fee).
If you haven't got any crypto wallet yet, select any which works best for you:
In order to transfer the value using Trickle, obtain some tokens or stablecoins at any crypto exchange of your preference. Note that this token/stablecoin must be an Ethereum-based (ERC20-compatible) token. Trickle is not able to work with other cryptocurrencies (yet).
A short list of ERC20-compatible tokens you can use with Trickle:
You can use any other token/stablecoin, however, double check whether it's an Ethereum ERC20-compatible token (Google for it) before purchasing.
Here are some of the most popular exchanges you can trade tokens/stablecoins at:
Note that some exchanges might be better for a particular country than others, some of them may have a complex KYC (know your customer) procedures and different withdrawal fees. Make sure you are acknowledged with main exchange terms before deciding to go further.
In addition to a token/stablecoin of your choice, you have to purchase ETH - the Ethereum native currency, which is required in order to do transactions in the network. Luckily, $1 worth of ETH is enough for many transactions (it depends, but usually it's enough for ~10 transactions at 3 GWei gas price).
Finally, after purchasing some stablecoins for the agreement creation and ETH for making some transactions in Ethereum network, withdraw them from the exchange to your Ethereum wallet address.
In order to create an agreement with Trickle, you need to agree on the following with your party:
When you enter this information on the "Create a New Agreement" page, click Confirm and double check all the details of the agreement. Trickle will let you know if your balance is low or something wrong with the data you've entered.
Now, in order to create the agreement, click on Approve Tokens and then Create Agreement button. The token approval is required only once for a new token.
Make sure you've opened Trickle from the account which has tokens/stablecoins and Ether on its balance. In Metamask, as well as in mobile wallets, you can switch accounts, and this will also switch a current account which you see at the top of the Trickle app.
After the agreement is created, the specified amount of tokens/stablecoins will be locked on a smart contract and distributed linearly over the entire period for the recipient. The only option to send these tokens back to the contract creator's account is to cancel the agreement.
Once the agreement is created, you'll be redirected to the agreement page. You can copy the URL (or the agreement ID) and send it to the recipient. At any moment later, both the agreement creator and the recipient can find this agreement on "My Agreements" screen.
Once the agreement is created, you'll see the progress bar and the number of tokens/stablecoins available for withdrawal. Both the agreement creator and the recipient can withdraw tokens, but they always go to the recipient's address. The number of withdrawals is unlimited, however, the tokens/stablecoins the recipient gets are always capped by the linear proportion to the time elapsed.
When canceling the agreement, the recipient gets all accrued tokens/stablecoins to time, while the contract creator gets those tokens which are left.
You can either simply change tokens or stablecoins back to fiat currency using the exchange, or keep them for any later crypto agreements. Welcome to the decentralized world!
Still, have questions? Ask here by creating an issue. We'll be happy to help!