project screenshot 1
project screenshot 2
project screenshot 3

Bazaar.finance

We allow for a more sustainable financing of mission critical open source projects that better aligns depositor's sense of altruism with their profit motives by introducing a new Defi money lego

Bazaar.finance

Created At

MarketMake

Project Description

Bazaar Finance allows developers to capture value for their work in open-source software though decentralized finance (DeFi) protocols. Thanks to lending protocols, users around the globe now have a new avenue to fund the open-source tools they find valuable. Not by dipping into their wallets, but via interest earned on their savings. Instead of having to actively give lump sums or set up recurring monthly donations, people can allocate a portion of interest they earn, passively and transparently, with the ability to withdraw their principle at any time.

Bazaar gives OSS developers a recurring, predictable source of income for their work, and an avenue for depositors to earn yield on their savings after the recipient goals have been met.

Depositors pool their contributions towards an OSS project, and the interest earned on the total of deposits gets allocated to the developer that maintains it. This interest is withdrawable by the developer (the recipient) at any time. Any additional interest that is surplus to the recipient's stated desired salary gets reallocated to depositors.

📖 How it Works (above the hood)

  1. An open-source project is added to Bazaar Finance. The recipient can decide on the token they want to be paid in, and the goal amount they wish to be paid each month (salary).
  2. Individuals who wish to fund the project can deposit a specified amount of the project's chosen token, e.g. DAI
  3. The depositor gets minted the project's bToken, redeemable for underlying funds when they withdraw their principal (and any additional interest) from the Vault
  4. Interest on deposits accrues to the project's Vault. Every 30 days, the accrued interest gets allocated to be recipient, available to be withdrawn.
  5. If the interest accrued from the sum of deposited funds exceeds the recipient's desired monthly salary for that month, additional interest earned for the remainder of that month gets allocated to depositors.
  6. Recipients can withdraw a specified amount at any time.
  7. Depositors can withdraw their principal (and any additional interest) at any time.

Example scenario:

  • Alice is working on a popular open-source tool, she hopes to earn 1000 DAI/month for maintaining this project. She creates a project on Bazaar Finance
  • Bob is an avid user of Alice's tool and wants to help fund its maintenance. He deposits 100 DAI to Alice's project
  • Bob receives 100 bTokens* for his deposit
  • More users and supporters of Alice's tool deposit their funds, inflating the supply of Alice's project's bToken
  • If the interest accrued from the sum of deposited funds exceeds Alice's goal of 1000 DAI, additional interest gets allocated to Bob and other depositors
  • Alice can withdraw a specified amount of her funds, earned through interest accrual of deposited funds, at any time.
  • Bob can withdraw his principle of 100 DAI at any time. If Alice's salary goal has been reached, he will also receive his share of the interest that has been reallocated to depositors. This process burns Bob's balance of bTokens.

* The 1-1 exchange rate only applies to the initial deposit into the Vault. The exchange rate for a project's bToken is dynamic depending on how much has already been deposited into its Vault, which is why each project necessarily has its own bToken in addition to its own Vault. See the bTokenExchangeRate section for more info.

🎒 Features

  • Interests accrued in real-time.
  • Interests earned on Depositors funds are proportional to the amount of deposits they have.
  • Depositors can deposit and withdraw the principal without a lock-up period 🔒
  • Recipient earns salary on a monthly basis.
  • Recipient can withdraw the salary at any point in time
  • Recipient's salary is accrued on a rolling basis and can be rolled over to the next month 📅
  • The contract runs autonomously without any operations required.
  • Supports contract upgrades via Proxy Pattern

How it's Made

🛠 Technology

📖 How it Works (under the hood)

  1. An open-source project is added to Bazaar Finance through the deployment of a new Vault and its associated bToken contract. For the MVP, this is done by calling createVault and createBToken in the VaultFactory contract.
  • The project's bToken is deployed first, and then its Vault is deployed with the following parameters

    • recipient address

    • salary desired amount the recipient wants to earn each month for working on the project

    • token address of the ERC20 the recipient wishes to be paid in (e.g. DAI)

    • aToken address the interest-accruing version of the token, issued through Aave

    • bToken address of the project's bToken, created through createBToken

  1. Individuals who wish to contribute the interest on their savings to fund the project can deposit a specified amount of the projects token into its Vault.

  2. The deposit gets automatically swapped to the interest-accruing equivalent on Aave, and is stored in the Vault.

  3. The depositor gets minted the project's bToken, redeemable for underlying funds when they withdraw their principal (and any additional interest) from the Vault

  4. Interest on deposits accrues to the project's Vault. Every 30 days, the accrued interest gets allocated to be recipient, available to be withdrawn.

  5. If the interest accrued from the sum of deposited funds exceeds the recipient's desired monthly salary for that month, additional interest earned for the remainder of that month gets allocated to depositors.

  6. Recipients can withdraw a specified amount at any time.

  7. Depositors can withdraw their principal (and any additional interest) at any time.

background image mobile

Join the mailing list

Get the latest news and updates