Introducing EOS Resource Exchange

in #eos6 years ago (edited)

Resource exchange platform for EOS

We are presenting the first leasing and renting platform for the EOS blockchain.

With this smart contract, which is currently been tested in the jungle testnet under the account exchangeres , you can easily lease your tokens for bandwidth or rent them to have access to a vast amount of recourses for cents on the dollar.

This contract runs in cycles of 75 hours, each cycle, you will receive a proportional percentage of the fees collected from the renters proportional to your holdings.

If you hold 100 EOS. 
The total tokens in the exchange is 1000 EOS. 
And the fees collected are 10 EOS
Your reward this cycle is:
10/1000 = 0.01; 
0.01 * 100 = 1 EOS

As such, users who are consuming resources from the exchange will be billed at the current market price. The market price is computed automatically based on the usage of the exchange and tokens remaining to rent.

price(total, liquid) = ((total-liquid)^2)/ ( total * 1.5 - liquid )

Users consuming resources can cancel or reduce their usage at any time and be billed accordingly on the next cycle.

Users with balance in the exchange can withdraw their tokens immediately or in the case their tokens are been staked they will need to wait a full cycle. This is a requirement imposed by the stake/unstake delays.

Key features

  • Renting tokens automatically without user interaction (you just need to deposit money in your account to start earning money)
  • Automatic repricing according to market status
  • Short billing/payout cycle (75h)
  • Withdraw your tokens at will (with a delay of 75h)
  • Internal tokens transfer to avoid 75h delays (you can send exchange tokens to any user the same way as any other ICO token, the reviver will start to make a profit on them and they can withdraw them after waiting the delay )

Actions

You can test it right now on jungle testnet with cleos, we encourage the community to test it before it goes to the main network.

To deposit:

cleos transfer myaccount exchangeres "10.0000 EOS"

To withdraw:

cleos push action exchangeres withdraw '{"user": "myaccount", "quantity": "1.0000 EOS"}' -p myaccount

To rent stake:

cleos push action exchangeres buystake '{"user": "myaccount", "net": "1.0000 EOS", "cpu": "1.0000 EOS"}' -p myaccount

To reduce or cancel rented stake:

cleos push action exchangeres sellstake '{"user": "myaccount", "net": "1.0000 EOS", "cpu": "1.0000 EOS"}' -p myaccount

Next steps

  • Develop a UI with Scatter integration for ease of use

FAQ

  • When will I be able to use it?
    • We are currently testing and will launch in 10 days if no critical bug is found

Links

Telegram group: https://t.me/resourceexchange

Source code: https://github.com/alepacheco/resource_exchange

Sort:  

Looking forward to it. I'm looking to earn some passive income off of my EOS.

Nice! What about airdrops that might use a more recent snapshot? They would drop tokens to the contract's account that actually belong to the users, so you should distribute that to them. I guess you could use a handler for a transfer action and generate a bunch of deferred transactions to distribute the token. I think it would be an important feature since users wouldn't want to give up their airdropped tokens in order to use this contract. They might end up losing money instead of making it.