Hotel ETH – Watch Demo Video

Hotel ETH

A (fictional) Bed-and-Breakfast run on Ethereum Come Book a Room on Kovan or Rinkeby Networks View the Demo » Contact Lamby · Report Bug · LinkedIn

About The Project

Hotel ETH is demo project showcasing how a traditional, fixed-price business could be run on Ethereum.

Key features include:

  • An ERC-20 token
    • can be purchased in advance with ETH at a fixed USD price (using Chainlink pricing oracles)
    • can be redeemed for a night at the Hotel (1 token = 1 night).
    • can be refunded to users after redemption if the booking is in the future
  • A full reservation and business management system built with Solidity.
    • owners can change the fixed USD price of tokens (similar to how hotel rates change)
    • owners receive any proceeds (in ETH) at time of sale
    • owners can mint / burn tokens freely
  • A full front-end interface built in React + Ethers.js
    • users can purchase tokens at a price set by the owner (paid in ETH)
    • users can redeem + refund tokens used to book reservations at the Hotel
    • users can see / check availibilty at the hotel and view all of their previous reservations
    • the UI dynamically updates when other users make reservations at the Hotel
    • the UI/UX performs automatic field + action validation
  • A development pipelines built for local, rinkeby, and kovan network environments.

This project is meant for educational purposes only, but in theory you could extend the functionality to run a real (or virtual) business with the underlying infrastructure.

Built With

Getting Started

Install MetaMask

You will need an Ethereum wallet installed to use the demo or run this project locally. I recommend MetaMask.

Obtain Test ETH

Obtaining test ETH is harder than it should be. I recommend the Chainlink faucet.

Buy, Redeem and Refund Tokens

You can purchase tokens in the app after connecting your wallet. the Price is set by the Hotel Owner and is paid in ETH.

The app is deployed on Kovan and Rinkeby networks.

Running Locally

For Developers

  1. Clone the repo

    git clone
  2. Install NPM packages

    npm install
  3. Run local blockchain + development server

    npm run dev

    To deploy your own version of the app, you need to fill in the keys.js file generated for you on install:

    module.exports = {


Ryan (Lamby) Lambert – [email protected]

View my other projects:


Distributed under the MIT License. See LICENSE.txt for more information.


View Github