Initially, I hoped to solve the below market rate (BMR) issue for the City of Dublin, CA. In 2018 I hosted a BRM open house, and each day, over 200 people showed up.

BRM properties are price controlled, and intended to be fairly distributed to low income individuals or families in the area. For example, the BMR I hosted was listed around $250,000 while the exact same unit next door was listed around $650,000.

The issue is some people are good at presenting their case, some people are not good at presenting their case, a boatload of people are qualified, and the listing agent more or less has complete control over who actually gets selected. (So who would you pick?)

My solution was to build an offer lottery so that everyone who was qualified and ready to go had a fair shot. That was a bit much for 2 weeks, so we built the base, SmartRPA.

What it does

SmartRPA provides an on-chain listing service for Homeowners (or their Agents) to offer their real estate to the crypto community in a transparent yet secure way, without having to change anything.

How we built it

  • React front end + Web3js + Solidity + Chainlink alarm clock oracle + Truffle for smart contract deployment/testing
  • Remix for prototyping
  • heroku and rinkeby testnet for demo hosting

Challenges we ran into

  • Figuring out which testnets and oracles were working, or if we were the issue
  • The idea developed multiple times, and continues to, but something still has to get done
  • Web3
  • Setting up unit tests
  • Setting up the correct migration scripts and successfully deploying to a testnet blockchain
  • "lol remember when we couldnt figure out that we had to send link to the contract first"
  • Starting halfway through

Accomplishments that we're proud of

  • Built a functioning dapp
  • Delayed, conditional burn() of expired or declined offer tokens

What we learned

  • Bill: Learned about web3js, smart contract development, solidity and NFTs
  • Sam: I learned what meta mask is and I learned how to make a step by step application. I ran into some bugs with saving it to local storage but I dont think that matters on chainlink specifically
  • Winston: Testnets can be unreliable, testnet oracles can be unreliable, my code is not always the issue. Solidity, NFTs and blockchain in general. I had no exposure to dapps 1 month ago and was able to follow all the workshops.

What's next for SmartRPA

More developed use cases

This project is intended to serve a boilerplate template for peer-to-peer real estate in general. A few ideas;

  • Below market rate (BMR) lottery for the City of Dublin, CA to ensure fairness in the past-max-capacity processing of qualified BMR applicants
  • Neighbor to neighbor real estate rentals, leveraging DeFi insurance or staking in place of overlords (think AirBnb without AirBnb)

Long term vision

DAO and Revenue Generation

  • With enough utilization, small fees can be applied to Buyers or Sellers during the SRPA process.
  • These fees can be distributed to users holding LAND tokens.
    • LAND is an ERC20 token capped at 100,000,000 LAND and minted via a set emission schedule.
    • LAND is a governance token with time-weighted voting and value accrual mechanisms.
    • LAND value is accrued through the fees collected by the SRPA process. Holders of the token can also vote lock their LAND and begin voting on various DAO proporsals.


  • Users can provide liquidity to SmartRPA liquidty pools and accrue APY gains. APY rewards will be paid out via newly minted LAND tokens.
  • With enough liquidity, SmartRPA may be able to begin offering collateralized loans and other financial services.
+ 3 more
Share this project: