Catallax Trust

DevLog 14 - Using a Catallax Trust to Pay Bug Bounties

Fresh off DevCon 3 we have our first bug submitted on the Catallax Trust.  Github user NickErrant pointed out in this github issue that a franchisee could lock up funds by pointing their payment address to a contract that throws on the fall back function.

Generally you can trust that people that want to get paid by a contract won’t do this, but in the case of a Catallax Trust the franchisee could be disgruntled about their payout or choose to protest for some other reason and lock up the contract.

The reason this can happen is that if address.transfer function fails then the function will throw.  Because our withdraw() function pays out to the franchisee if they exist they can block the payment.  The simple fix (and the one we’ve taken at the moment) is to use address.send instead.  If this fails it just returns false and the rest of the function continues to function.

A better solution is to use the withdraw pattern and just set the money aside for the franchisee to come get later.  This requires another storage variable in the contract so it has some cost.

We haven’t deployed the factory to produce this new contract yet so don’t set up a franchise contract until we do so. If you are interested in setting one of these up, please reach out to us and we will work with you to get everything setup correctly.

Nick raised a good point when reporting the bug that bug bounty contracts where you just try to steal the funds have pretty poor incentives for bug hunters.  As a result, we’ve made Nick the beneficiary of the bug bounty contract.  On 11/16 he’ll be able to call withdraw and get out 1/24th of the current balance.

We will leave Nick as the beneficiary until we get our next valid bug report.  At that time, provided the bug is as serious as Nick’s, we will unlock the beneficiary and transfer it to the new bug hunter 36 days later.

Of course, if you'd like to try to steal the money out of the trust you can do that too.

If you’d like to use a Catallax Trust for one of your own bug bounties please reach out to us and we can help you set it up.  The trust supports ETH and ERC20 tokens.

You can find the source code for the contracts here: https://github.com/skilesare/catallaxtrust

Pull down the repo and load them up in remix to interact with the contracts.

If this is interesting to you and you'd like to see where we are going with Catallax, please pick up my book Immortality (Purchase of a physical or kindle copy helps support this project).

Donations always accepted at:

BTC: 1AAfkhg1NEQwGmwW36dwDZjSAvNLtKECas

ETH and Tokens: 0x148311c647ec8a584d896c04f6492b5d9cb3a9b0

If you would like more code articles like this please consider becoming a patron on patreon.

You can discuss this article and more at our reddit page r/Catallax.

Bug Bounty Doubled - $400 - Truffle Tests Released

We are back from DevCon 3 in Cancun.  It was a great week.  We learned a lot and had some great conversations.  We are really excited about moving Catallax forward and getting our decaying currency up and running on the main net.

In the meantime, we've doubled the bug bounty on the Catallax Trust to $400.  We are getting closer to our first opportunity to do a withdrawal on November 16th.

I've also released the truffle tests source.  Reviewing these should give you some idea of how the contract works.

You can find the source code for the contracts here: https://github.com/skilesare/catallaxtrust

Pull down the repo and load them up in remix to interact with the contracts.

If this is interesting to you and you'd like to see where we are going with Catallax, please pick up my book Immortality (Purchase of a physical or kindle copy helps support this project).

Donations always accepted at:

BTC: 1AAfkhg1NEQwGmwW36dwDZjSAvNLtKECas

ETH and Tokens: 0x148311c647ec8a584d896c04f6492b5d9cb3a9b0

If you would like more code articles like this please consider becoming a patron on patreon.

You can discuss this article and more at our reddit page r/Catallax.

Bug Bounty Doubled - $200

No big update this week. We are getting ready for Dev Con.  Looking forward to visiting with the community.  If you want to hear more about the Catallax Trust and the next phase of our project where we'll have a decaying currency working on the blockchain please reach out to austin at catallax dot com.

We've sent another $100 worth of ether over to our Bug Bounty.  Try to get it out!

You can find the source code for the contracts here: https://github.com/skilesare/catallaxtrust

Pull down the repo and load them up in remix to interact with the contracts.

If this is interesting to you and you'd like to see where we are going with Catallax, please pick up my book Immortality (Purchase of a physical or kindle copy helps support this project).

Donations always accepted at:

BTC: 1AAfkhg1NEQwGmwW36dwDZjSAvNLtKECas

ETH and Tokens: 0x148311c647ec8a584d896c04f6492b5d9cb3a9b0

If you would like more code articles like this please consider becoming a patron on patreon.

You can discuss this article and more at our reddit page r/Catallax.

DevLog 13 - $100 Catallax Trust Bug Bounty

The plan was to go with a push out to Ropsten today with the web app up and running.  I’ve had a muted response to the application so far so I’m going to try something different.  I really need some more eyes on this contract before I pour a bunch of dev cycles at the dapp.  So I’ve thrown all caution to the wind and deployed the contracts to mainnet.

I’m created a Catallax Trust Custodian(0x1ed1ee3d6cf25754046e8769f4f2feff57ede7a3), Factory(0x6824457c6c5f711b71dc28c804c6ca767fc84046), Trust Storage(0x79244a86de9b499b03d8c0afe29460d029c5e7a6), and Catallax Trust(0xb8c7842b4451c440f14f0ccfa7cc4bb9734e5df5).  The trust is a two year trust that pays out $30,000 a month.  I’ve loaded it up with $100 worth of ETH.  Please do your best to pull this eth out of the trust.  If you can break the trust please let me know what you did to break it at austin at catallax dot com.

You can find the source code for the contracts here: https://github.com/skilesare/catallaxtrust

Pull down the repo and load them up in remix to interact with the contracts.

I have a bit of time off this week and I’m not sure if I’ll make much progress on the dapp or not.  Some positive feedback and some potential customers might light a fire under me to make the contracts easier to interact with.

If you would like to start a trust right now you can do so by calling the Custodian.CreateTrust function,  Funding the created trust, and then calling the Trust.StartTrust function.

If you’d like to start one but want to see more scrutiny on the contract feel free to send ETH to the Trust address at 0xb8c7842b4451c440f14f0ccfa7cc4bb9734e5df5 to increase the bounty.

Have fun exploring the contracts!  Post questions and issues in our github or reddit here.

If this is interesting to you and you'd like to see where we are going with Catallax, please pick up my book Immortality (Purchase of a physical or kindle copy helps support this project).

Donations always accepted at:

BTC: 1AAfkhg1NEQwGmwW36dwDZjSAvNLtKECas

ETH and Tokens: 0x148311c647ec8a584d896c04f6492b5d9cb3a9b0

If you would like more code articles like this please consider becoming a patron on patreon.

You can discuss this article and more at our reddit page r/Catallax.

DevLog 12 - Catallax Trust Contract Code Release

I’m really excited to release our code for the Catallax Trust today.  It has been a long time coming and it will be nice to get some new eyes on the code.

If this is your first time reading about the Catallax Trust you can read the white paper here.  A Catallax Trust is a contract that will hold crypto and pay it out in the future in fiat-based chunks based on the exchange rate at the time of the withdrawal.  I can be used for employment contracts, donating to a charity, securing ICO funds, or simply helping you HODL with a budget.

We have had one code review done and implemented a number of improvements identified in that code review.  Of course, we hope that the contracts are production ready, but if you think otherwise, please let us know by sending the issue to bugs@catallax.com or filing an issue on the github repo:   https://github.com/skilesare/catallaxtrust

The Catallax Trust is made up of the following main contracts:

FiatTrustCustodian.sol - This is the custodian contract that oversees the creation of new trusts and tracks the fiat to crypto conversion rates for supported crypto / fiat pairs.

FiatTrustFactory.sol - This is the factory contract that the custodian uses to create new trusts.  We can swap this out if we create a better trust without having to republish the custodian.

FiatTrust.sol - This contract is the core trust. Users will deposit their ETH and / or ERC20 tokens in these contracts and be able to withdraw from them over time.

The following support contracts are included as well:

DateTime.sol - a date time library

SafeMath.sol - safe arithmetic functions

ERC20.sol - interacting with tokens

TrustStorage.sol - we have to store the historical history of crypto / fiat exchange rates. This is held in a storage contract so that we can easily move the history to upgraded custodians if necessary.

iLicensor.sol - a stub contract for future governance of the custodian

The general process for setting up the contracts follows the following process(this is the code from our test suite):

prepEnvironment = (custodianOwner)->
 return new Promise (resolve, reject)->
   custodian = null
   factory = null
   token = null
   storage = null
   #Create the custodian
   FiatTrustCustodian.new(from: custodianOwner).then (instance)->
     custodian = instance
     #create the factory
     FiatTrustFactory.new(custodian.address, from: custodianOwner)
   .then (instance)->
     console.log 'new factory'
     factory = instance
     #create a datetime library(this has been published previously on mainnet so you can use one of those)
     DateTime.new(from: custodianOwner)
   .then (instance)->
     console.log 'new DateTime'
     #set the date time library
     custodian.SetDateTimeLibrary(instance.address, from: custodianOwner)
   .then (result)->
     console.log 'dt set'
     #set the factory location
     custodian.SetFactory(factory.address, from:custodianOwner)
   .then (result)->
     console.log 'factory set'
     #Create an ERC20 token to test with
     HumanStandardToken.new(tokenStartBalance,"token",0,'tkn', from: custodianOwner)
   .then (instance)->
     console.log 'new token'
     token = instance
     #create a new storage contract
     TokenStorage.new(from: custodianOwner)
   .then (instance)->
     console.log 'new storage'
     storage = instance
     #set the storage contract
     custodian.SetStorage(storage.address, from: custodianOwner)
   .then (instance) ->
     console.log 'storage set'
     #update the owner of the storage to include the custodian contract
     storage.UpdateOwner(custodian.address, true, from: custodianOwner)
   .then (instance)->
     console.log 'first conversion set'
     #set an old conversion for ETH to USD
     custodian.SetConversion(ethTokenAddress, usdCurrencybytes, 1989,1, 1, web3.toWei(0.01,"ether"),1, from: custodianOwner)
   .then (instance)->
     console.log 'conversion set'
     #set an old conversion for ERC20 token to USD
     custodian.SetConversion(token.address, usdCurrencybytes, 1989,1, 1, web3.toWei(0.01,"ether"),1, from: custodianOwner)
   .then (instance)->
     console.log 'max fee set'
     #set the max fee
     custodian.SetMaxFee(usdCurrencybytes, 50, from: custodianOwner)
   .then (instance)->
     console.log 'origination fee set set'
     #set the origination fee
     custodian.SetOriginationFee(usdCurrencybytes, 25, from: custodianOwner)
   .then ->
     resolve
       custodian: custodian
       token: token

Once your custodian is configured you need to create, fund, and start your trust.  The following code will do that and then make time pass so you can do your first withdrawal:

custodian.CreateTrust(ethTokenAddress, usdCurrencybytes, 12, 1, {from: accounts[0]})
   .then (txn)->
     trustAddress = null
     txn.logs.map (o)->
       if o.event is 'TrustCreated'
         console.log 'found new Trust at' + o.args.location
         i = FiatTrust.at(o.args.location)
         trustAddress = o.args.location
     console.log 'have instance'
     #fund the wallet
     web3.eth.sendTransaction({ from: accounts[1], to: i.address, value: web3.toWei(0.44,"ether") })
   .then (result)->
     #Start the Trust
     i.StartTrust(from:accounts[0])
   .then (result)->
     console.log result
     console.log 'sending ether'
     #this function advances time in our test client by 34 days
     return new Promise (tResolve, tReject)->
       web3.currentProvider.sendAsync
         jsonrpc: "2.0",
         method: "evm_increaseTime",
         params: [86400 * 34],  # 86400 seconds in a day
         id: new Date().getTime()
       , (err)->
         tResolve true
   .then (result)->
     #calculate the next withdraw date
     i.NextWithdraw()
   .then (result)->
     console.log 'next ' + result
     nextPayout = result.toNumber()
     aDate = nextPayout * 1000
     aDate = moment.utc(new Date(aDate))
     console.log aDate
     console.log 'conversion set for ' + aDate.year() + (aDate.month() + 1) + aDate.date()
     #set the conversion for that tdate
     custodian.SetConversion(ethTokenAddress, usdCurrencybytes, aDate.year(), aDate.month() + 1, aDate.date(), web3.toWei(0.01,"ether"),1)
   .then (result)->#call the withdraw fucntion.  0.1 eth shold move from the contract to account[0]
     console.log 'conversion set'
     aDate = nextPayout * 1000
     aDate = moment.utc(new Date(aDate))
     console.log aDate
     #check the current balance
     web3.eth.getBalance(custodian.address)
   .then (result)->
     console.log result
     startCustodianBalance = result.toNumber()
     assert.equal 250000000000000000, startCustodianBalance, 'custodian has ether it shouldnt'
     startBalance = web3.eth.getBalance(accounts[0])
     console.log 'Start Balance' + startBalance
     #withdraw from the trust
     i.Withdraw(from: accounts[0])
   .then (result)->
     console.log result
     web3.eth.getBalance(i.address)
   .then (result)->
     console.log 'withdrawl:' + result
     assert.equal result.toNumber(), parseInt(web3.toWei(0.18,"ether")) - parseInt(web3.toWei(0.01,"ether")) * 0.005, 'withdraw wasnt right'
     web3.eth.getBalance(accounts[0])
   .then (result)->
     console.log result
     #since payout is 0 eth per usd we multiply fiatpayout 1
     #we only test .9 eth and 1.1 because gas costs weigh in
     # so much gas cost
     #96 413397700000000000
     #96 502336500000000000
     #
     console.log 'eth increased' + (result.toNumber() - startBalance.toNumber())
     assert.equal result.toNumber() > startBalance.toNumber(), true, 'eth didnt transfer'
     assert.equal result.toNumber() < startBalance.toNumber() + parseInt(web3.toWei(0.01,"ether")), true, 'too much eth transfered'
     web3.eth.getBalance(custodian.address)
   .then (result)->
     console.log 'fee paid' + result
     assert.equal result.toNumber(), 250000000000000000 + parseInt(web3.toWei(0.01,"ether")) * 0.005, 'Fee wasnt paid'

Have fun exploring the contracts!  Post questions and issues in our github or reddit here.

If this is interesting to you and you'd like to see where we are going with Catallax, please pick up my book Immortality (Purchase of a physical or kindle copy helps support this project).

Donations always accepted at:

BTC: 1AAfkhg1NEQwGmwW36dwDZjSAvNLtKECas

ETH and Tokens: 0x148311c647ec8a584d896c04f6492b5d9cb3a9b0

If you would like more code articles like this please consider becoming a patron on patreon.

You can discuss this article and more at our reddit page r/Catallax.

Give ICO Investors more confidence with a Catallax Trust

The Catallax Trust has been designed to support a number of different scenarios.  I’m outlining each one of these in a different post over the next few weeks as we move toward the release.

Today we are going to talk about how to use a Catallax Trust increase investor confidence in your ICO.

An ICO can funnel the proceeds of their token sale into a Catallax Trust and have it pay out a set fiat denominated amount of those proceeds to cover costs.  They can further increase confidence by assigning ownership of the trust to a multi-sig account overseen by trusted members of the community.

For example, ZkCoin is holding a token sale to raise money for their ZkSnark based token.  They expect to need $50,000 USD per month for the first year to get the project launched.  Excitement is high and they expect to raise much more than is required.  Some in the community do have some fear that the team is untrustworthy and will run off with the raised funds.  To increase confidence in the token sale and project ZkCoin can create a Catallax Trust that pays out $50,000 of raised ETH each month for the first year.  At the end of the year, they don’t know how much they are going to need so they assign ownership of the trust to a group of community member including members of the Ethereum Foundation.  Once the trust matures these members will need to sign the withdraw function that pushes remaining funds into a new trust with an agreed upon monthly budget. If the price of ETH fluctuates wildly one of two things will happen:

  1. If the price of ETH goes up he the trust will pay out less ETH and at the end of the contract ZkCoin will get the remaining ETH back and it can be assigned to a new Trust with the agreement of the community.

  2. If the price of ETH goes down, the trust will auto adjust the payout down so that the cash flows continue for the entire two years with funds equal to less than the desired $50,000.

Using a trust for increasing confidence in your IC to a charity has a number of advantages:

  1. Investors know that a Token owner will only be able to get a set amount of ETH out of the trust per month and won’t be able to blow the full raised amount before proper learning in the marketplace has occurred.

  2. Trust Ownership can be handed to other governing contracts like multi-sig contacts or other governance contracts like Aragon or Colony.

  3. The trust owners can reassign the beneficiary of the trust if the project goes off the rails or dies, perhaps redirecting funds to the Ethereum Foundation.

A Catallax Trust can also be used to help reduce the market manipulation risk for the issued ZkCoin by creating a ZkCoin to USD denominated Catallax Trust.  Many ICOs hold back large amounts of coins to give to developers and investors in the project.  By issuing these coins to a Catallax Trust that only allows a certain amount to be paid out per month the risk to investors is limited.  For example, if 30% of the coins are held back to pay to developers a Catallax Trust could hold these coins and only let $10,000 worth be issued each month.  As the market price of these new ZkCoins fluctuate the amount released will adjust each month and only $10,000 worth could be dumped on the market each month.

Creating the Trust and Assigning it to an ICO requires the following steps:

  1. ICO owner calls the Custodian.CreateTrust function to create a new Catallax Trust contract.  This function takes a token(ETH or ERC20), a currency(USD, EUR, ect.), term(number of months), and fiat payout(amount of currency per term to pay out).

  2. ICO Owner calls the Trust.ChangeBeneficiaryOwner function to set the beneficiary of the trust to their own address.

  3. ICO Owner calls the Trust.ChangeOwner function and assigns ownership of the trust to a governance contract.

  4. The ICO contract uses the trust address as the deposit location for funds raised during the token sale.

  5. Optional:  The ICO contract uses another trust address as the destination of generated developer and investor tokens.

  6. The owning governance contract starts the trust after the crowd sale by calling the Trust.StarTrust function.

  7. During the month the Custodian will be publishing the exchange rates between the token and the currency to the blockchain.

  8. After one month the ICO  can call the Trust.Withdraw function to get the exchange rate adjusted amount of ETH sent to their beneficiary address.

If you are interested in using a Catallax Trust to manage your employment contracts please reach out to us so that we can make sure that we support the Token / Currency combinations that you would like to use.

Please head over to this thread on our Reddit to pick the white paper apart and ask questions.  You can download the Catallax Trust white paper here.

If this is interesting to you and you'd like to see where we are going with Catallax, please pick up my book Immortality (Purchase of a physical or kindle copy helps support this project).

Donations always accepted at:

BTC: 1AAfkhg1NEQwGmwW36dwDZjSAvNLtKECas

ETH and Tokens: 0x148311c647ec8a584d896c04f6492b5d9cb3a9b0

If you would like more code articles like this please consider becoming a patron on patreon.

You can discuss this article and more at our reddit page r/Catallax.



 

Giving to a Charity with Strings Attached with a Catallax Trust

The Catallax Trust has been designed to support a number of different scenarios.  I’m outlining each one of these in a different post over the next few weeks as we move toward the release.

Today we are going to talk about how to use a Catallax Trust to set up recurring giving to a charity of your choice.

The Catallax Trust allows for a benefactor to set up a fiat based monthly donation of crypto to their favorite charity.

For example, Annie wants to help out the Ethereum foundation but doesn’t want to just sign over a bunch of her ETH at one time. She puts 1,000 ETH into a Catallax Trust and wants $10,000 USD per month to go to the Ethereum Foundation over the next 24 months. She wants to maintain some control over this and be able to revoke her donation if the foundation is taken over by a bunch of miners and Proof of Stake is taken off the board. If the price of ETH fluctuates wildly one of two things will happen:

  1. If the price of ETH goes up he the trust will pay out less ETH and at the end of the contact Annie will get her remaining ETH back at the end of the 2 year period

  2. If the price of ETH goes down Annie the contract will auto adjust the payout down so that the cash flows continue for the entire two years.

Using a trust for donating to a charity has a number of advantages:

  1. Charities know that the account that will be paying them is fully funded and that funds can’t be moved right before the next month’s payout.

  2. The contract requires a 36 day waiting period if you are going to change the beneficiary of a trust.  This Guarantees at least one month of lead time for charities to know that their funds available are going to go down in the next month.

  3. Benefactors won’t have to worry about monitoring exchange rates on donation day.

  4. Charities can monitor the account as the value of the denominated crypto fluctuates to make sure that they plan well if crypto price crash.

  5. Benefactors avoid the tax implications of converting crypto to fiat.  The burden of doing so is transferred to the charity that may benefit from tax exemptions.

Creating the Trust and Assigning it to a Charity requires the following steps:

  1. Benefactor calls the Custodian.CreateTrust function to create a new Catallax Trust contract.  This function takes a token(ETH or ERC20), a currency(USD, EUR, ect.), term(number of months), and fiat payout(amount of currency per term to pay out).

  2. Employer calls the Trust.ChangeBeneficiaryOwner function to set the beneficiary of the trust to the charity’s address.

  3. Benefactor funds the Trust by sending ETH and or ERC20.  Fees are paid in ETH, ERC20 can be required if the trust pays out ERC20.

  4. Benefactor starts the trust on the first day of the contract by calling the Trust.StarTrust function.

  5. During the month the Custodian will be publishing the exchange rates between the token and the currency to the blockchain.

  6. After one month the charity can call the Trust.Withdraw function to get the exchange rate adjusted amount of crypto sent to their beneficiary address.

If you are interested in using a Catallax Trust to manage your employment contracts please reach out to us so that we can make sure that we support the Token / Currency combinations that you would like to use.

Please head over to this thread on our Reddit to pick the white paper apart and ask questions.  You can download the Catallax Trust white paper here.

If this is interesting to you and you'd like to see where we are going with Catallax, please pick up my book Immortality (Purchase of a physical or kindle copy helps support this project).

Donations always accepted at:

BTC: 1AAfkhg1NEQwGmwW36dwDZjSAvNLtKECas

ETH and Tokens: 0x148311c647ec8a584d896c04f6492b5d9cb3a9b0

If you would like more code articles like this please consider becoming a patron on patreon.

You can discuss this article and more at our reddit page r/Catallax.


 

Setting up a Smart Contract recurring income from your ETH stack

The Catallax Trust has been designed to support a number of different scenarios.  I’m outlining each one of these in a different post over the next few weeks as we move toward the release.

Today we are going to talk about how to use a Catallax Trust to set up a recurring income for yourself.  Were you an early investor in ETH?  Do you have some valuable ERC20 tokens sitting around that you want to HODL?  The Catallax trust will allow you to set a USD based amount to take out each month and this will be enforced by the contract.

For example, Janet was early on the ETH train.  She wants to start a new blockchain based project and now she doesn’t have to worry about money as much.  Selling all her ETH has big tax implication and she is still bullish on the price.  She doesn’t want to sell. Using a Catallax Trust she can put her ETH into a Trust that pays out $20,000 USD worth of ETH each month for three years. If the price of ETH fluctuates wildly one of two things will happen:

  1. If the price of ETH goes up he the trust will pay out less ETH and at the end of the contract Janet will get his remaining ETH back.

  2. If the price of ETH goes down Janet the contract adjusts to pay her what it can so that she has income over the length of the trust.

Putting her ETH into a contract has the following advantages

  1. The Trust owner is committed to HODLing. The ETH cannot be pulled out of the contract any faster than the trust allows.

  2. If ETH goes up the owner will have a big chunk of ETH available at the termination of the trust.

  3. If ETH goes down then the trust will adjust to pay out as much as it can each month so that the trust lasts the entire 3 years.

  4. In future iterations of the trust we hope to be able to allow the owner to elect to take soe risk and potentially make a return on assets locked up in the trust.

Creating the Trust:

  1. Owner calls the Custodian.CreateTrust function to create a new Catallax Trust contract.  This function takes a token(ETH or ERC20), a currency(USD, EUR, ect), term(number of months), and fiat payout(amount of currency per term to pay out).

  2. Owner funds the Trust by sending ETH and or ERC20.  Fees are paid in ETH, ERC20 can be required if the trust pays out ERC20.

  3. Owner starts the trust on the first day of the contract by calling the Trust.StarTrust function.

  4. During the month the Custodian will be publishing the exchange rates between the token and the currency to the blockchain.

  5. After one month the Owner can call the Trust.Withdraw function to get the exchange rate adjusted the amount of crypto sent to their beneficiary address.

  6. When the Trust Expires the owner can withdraw any remaining ETH or ERC20 tokens out of the trust.

If you are interested in using a Catallax Trust to set up a recurring income, please reach out to us so that we can make sure that we support the Token / Currency combinations that you would like to use.

Please head over to this thread on our Reddit to pick the white paper apart and ask questions.  You can download the Catallax Trust white paper here.

If this is interesting to you and you'd like to see where we are going with Catallax, please pick up my book Immortality (Purchase of a physical or kindle copy helps support this project).

Donations always accepted at:

BTC: 1AAfkhg1NEQwGmwW36dwDZjSAvNLtKECas

ETH and Tokens: 0x148311c647ec8a584d896c04f6492b5d9cb3a9b0

If you would like more code articles like this please consider becoming a patron on patreon.

You can discuss this article and more at our reddit page r/Catallax.

 

DevLog 11 - Catallax Trust White Paper and Release Schedule

I’ve spent the last three weeks working on the Web App for our Project MCD.  I have the functionality there and am now onto the design.  I’ve tried to simplify things along the way so that I can get things to release.

Now that all the functionality is in place I’m happy to announce the release schedule!

Project MCD is actually a project called the Catallax Trust.  The Catallax Trust is a fiat trust that will let you lock up crypto and have it paid out over time based on the price of crypto assets on the date of payout.

For example:  Put 100 ETH into a contract and have it pay out $1,000 a month for 3 years.  If the price of ETH goes up less ETH will come out each month.  If it goes down you will get more ETH, but your trust may run out of money before the 3 years is up.

These trusts are good for employment contracts, giving to charities, keeping your self-disciplined and HODLing during the fork to Metropolis and the inevitable volatility that will follow.

I’m releasing the whitepaper today, code soon, test net after that and hoping to be live by the time we get to DevCon 3.

Schedule:

October 2nd:  White Paper 

October 9th:  Contract Code Release

October 16th:  TestNet Release

October 23rd: Live

Please head over to this thread on our Reddit to pick the white paper apart and ask questions.

If this is interesting to you and you'd like to see where we are going with Catallax, please pick up my book Immortality (Purchase of a physical or kindle copy helps support this project).

Donations always accepted at:

BTC: 1AAfkhg1NEQwGmwW36dwDZjSAvNLtKECas

ETH and Tokens: 0x148311c647ec8a584d896c04f6492b5d9cb3a9b0

If you would like more code articles like this please consider becoming a patron on patreon.

You can discuss this article and more at our reddit page r/Catallax.