not approved
AMM for Continuous Financing
Current Project Status
Unfunded
Amount
Received
$0
Amount
Requested
$45,000
Percentage
Received
0.00%
Solution

A reusable module (money legos) of economic protocols based on bonding curves to scale up continuous project financing and investment.

Problem

Financing innovation, science, and culture need complex economic protocols but developing these financial primitives is difficult.

Addresses Challenge
Feasibility
Auditability
Impact

Team

1 member

AMM for Continuous Financing

.

Using a common set of economic protocols, DApps and DeFi protocols can easily integrate and interoperate. Defining common economic protocols as baseline primitives is similar to Ethereum's ERC notion of contract interface standards like ERC20, ERC721, ERC1155, and many others. Ethereum has APIs, Cardano has Protocols.

The proposal aims to design and engineer a module of baseline economic primitives for bonding curves—An open-source, reusable module in Plutus utilising the Extended Unspent Transaction Output (EUTXO) architecture. General enough to be used across many applications and reliably incorporated into more complex economic protocols.

There is a limited pool of experience implementing reliable DeFi protocols suitable for composition and even less experience using Plutus. Therefore to accelerate and scale up DeFi on Cardano, instead of developing a new or novel DeFi protocol wrapped in a DApp, we will take an existing well-researched and genuinely helpful set of baseline primitives explicitly designed for reuse and implement them using Plutus.

A Risk-Adjusted Bonding Curve[2] (RABC) module is the motivating use-case for the lower-level design; Helping to inform the developer experience of the bonding curve module. These efforts combined, develop the necessary foundations for Alpha Bonds[3] (⍺Bonds) that motivate market context for the work.

The bonding curve module is not a DApp, although we understand how to take different bonding curve approaches to solve specific market needs such as decentralised micro-loan platforms or NFT art markets.

We are motivated to build tools that help finance impact, innovation, science, and culture. To do that, we need baseline economic protocols that can serve as building blocks on Cardano.

Funding of this proposal will help accelerate that development.

Background

⍺Bonds are a type of Social Impact Bond[4]. A performance-oriented multi-party contract and investment instrument suitable for funding projects with high uncertainty in outcomes (non-financial ROI). ⍺Bonds have been researched and developed as impact finance instruments, yet the design is applicable to anything new or innovative: social or environmental change, science, early-stage and seed-stage technology start-ups, internal corporate project budgeting, DAO coordination, community grants, art, and public good production.

To address many of the problems associated with typical Impact Bonds, the ⍺Bond protocol is built around an RABC. The RABC is a composite AMM for continuous investment. It is a complex economic protocol that aligns stakeholder incentives around a continuous market for project tokens minted and burnt on demand. They are a type of debt instrument with a conditional payout to investors. A payout tied to project success.

Investors can include any group inside and outside an organisational boundary. They are especially useful for decision making in Entrepreneurial Organisations and Ecosystem[5] Micro-Communities a.k.a DAOs.

Investors fund a project continuously by buying into a project token. Bonding to a project. They can also exit at any time. The price paid or received is determined by two curves (one for buying, another for selling). Also called minting and burning. At maturity, the bond reserve pays out to investors on project success. The outcome sponsor buys the result for a promised amount plus a coupon, eg. 10%, by depositing funds into the bond's reserve. Then the reserve pays out to investors. Holders of project tokens can withdraw their share of the reserve at any time after that. If the project fails, no outcome payment is received by the bond's reserve; hence investors only receive what remains in reserve.

RABCs include an ability to adjust the buy and sell curves based on an external signal that estimates the probability of project success. In the primary design, that estimate is generated via an on-chain prediction market[6] where investors are able to stake their project tokens on success or failure, earning a higher yield on their initial investment. The prediction market is also based on bonding curves.

The protocol design incorporates many parameters to enable different contexts of use. Hence RABCs can be a building block to many other higher-order DeFi DApps, such IXO Hub's ⍺Bonds. Anything that involves financing projects with a high degree of uncertainty and complex outcomes occurring over potentially multiple stages can use RABCs. They act in a coordinating and curating manner to leverage capital and help with efficient capital allocation to performant projects.

Bonding Curves, the baseline primitive used in the RABC and therefore ⍺Bonds, bond a reserve token to a project-specific token. Through the specification of reserve ratio, exit fees, or price spread, the bonding of the reserve tokens can be used to finance project activity, implement the fair market allocation of project tokens, and provide market-based curation signals.

Examples of Use

EulerBeats [7]: (Bonding Curve) - A popular generative digital music art project incorporates a bonding curve for the buying and selling of Prints. Prints are tokens representing a type of fractional ownership for digital artworks. Buying a print generates cash flow for the Original (NFT) owner and funding for the underlying project.

Common Stack [8]: (Augmented bonding curve) - A pioneer in the application of augmented bonding curves to fund commons-based peer production. The bonding curve includes a hatch phase, a type of vesting functionality to ensure key project personnel have skin-in-the-game but are locked into the project for a specified period.

Project Governance: Conviction Voting [9] & Commitment Voting[10] are variable time-weighted governance mechanisms. The weight of a vote is determined by the quantity and when a vote was cast, both use a bonding curve to weight votes. Conviction voting is a form of continuous voting where votes can be cast or withdrawn at any time. The Commons Stack continuously funds a Conviction Voting DAO that uses the mechanism to manage supply funds. Commitment voting locks winning votes into their decision beyond an election. Both mechanisms use lost opportunity (opportunity-cost) as their underlying incentive mechanism to reveal preferences.

IXO Hub and ⍺Bonds: (Risk-Adjusted Bonding Curves) - Uses the RABC to help finance impact projects. The first test deployment of the RABC is focusing on education outcomes in Chimple India. Helping children attain literacy and numeracy. Outcome funders commit to purchasing the results of the project at cost plus a 10% coupon fee. Risk investors introduce operating capital by bonding reserve tokens. Service providers deliver the educational services for fees plus performance bonuses. Independent evaluators measure the educational outcomes. When learning targets are met this triggers repayment plus a coupon from the outcome funders. If outcomes are not achieved then no outcome payments are made and investors are allocated any remaining reserves.

Other Uses: A Cardano based ⍺Bond implementation can be used as the basis for a decentralised Kiva, or a more scalable basis for Catalyst project funding that incorporates market incentives to monitor and audit funded projects.

Enabling Stake-Pools to differentiate and be a source of outcome finance using ⍺Bonds to finance causes is also a possibility. Stake Pools can offer investment participation exclusively to delegates. Ensuring the bonding-curve design works well with Stake-Pools is an important success metric for this project. This helps to ensure network security is maintained when participating in any economic protocol based on our module.

Origin of Bonding Curves and RABC

AMMs have been widely deployed in DeFi protocols since they were first demonstrated by Bancor, and Alan Lu of Gnosis, then popularised by Uniswap. Around the same time, Simon de la Rouviere started writing about Curation Markets that eventually became known as Bonding Curves- A generalisation of the pricing function and associated reserves found in AMMs where the protocol is able to mint and burn a token supply based on market demand. Ocean Protocol, Molecule, Clover Network, and the Common Stack in conjunction with Blockscience have researched and developed different aspects of the core idea and incorporated them into various protocols.

The Risk-Adjusted Bonding Curve design[2] was developed by Shruti Appiah [11] (IOG Senior Product Manager Engineering - on the Marlowe team) and the team at Blockscience for IXO Foundation. The design has been implemented on Comos as part of the Cosmos Bond Module [12] and the IXO Cosmos Blockchain implements ⍺Bonds.

Team & Experience

The team has experience in financial markets software engineering, cryptocurrency payments, tech start-ups, Data & Govtech, impact investing. We are also active in organising a legal-tech community.

Robert O'Brien: Distributed Systems Software Engineer (Financial systems) and Entrepreneur. Co-Founded three start-ups in Financial Data Analytics, International Trade Payments, and Impact Investing. Co-Organises LegalHackers NZ, and advises a Social Entrepreneurship activation centre.

Andrew Walker: Distributed systems software engineer, mostly in the financial sector in the City of London. Worked at Barclays Capital (credit risk) and LIFFE (derivatives exchange). Working on cryptocurrency payments infrastructure and also experienced with the hospitality sector.

The team has experience with using formal methods and developing high-performance systems in financial settings. Over the last twenty years, we've had functional programming experience in OCaml, Erlang, and Scala. We both have experience in Blockchains and crypto-currency projects and are part of the Plutus Pioneer Programme. We were also behind Fund2's "A Smart Market Toolkit for Cardano." [13].

We are leveraging the work already done by Blockscience, the Token Engineering [14] community, Shruti Appiah, and IOG. As the project gets underway we will welcome other interested contributors from the community to help build and maintain the project.

Proposal impact on key metrics

Underlying DeFi is the idea of composition, the notion of money Lego or programmable money. Finance, in general, involves composing cash flows to gain leverage and adjust risk. When stacking, chaining, or using economic protocols together it is important that the whole exhibits predictable behaviour even with humans-in-the-loop. That isn't an easy task and certainly not a job that has to be repeated for every protocol or DApp.

By focusing on a baseline primitive and engineering it for reuse across the Cardano Ecosystem, we can make it faster to deploy reliable market-focused DApps. RABC demonstrates composition by combining four different bonding curves into one higher-level protocol for project financing. ⍺Bonds demonstrate the use of RABC in a market-focused DApp.

The bonding-curve module aims to be an essential toolkit for software developers that don't want to dive into learning Haskell, EUTXO, PlutusTx or the Plutus Application Backend. An essential toolkit for technology start-ups that don't have the skills in complexity-science and engineering talent to develop great economic protocols.

By using the primitives in the bonding curve module, DeFi Protocols and DApps can build and scale up faster. By using the primitives, Investors and Users gain confidence in the reliability of the protocols and DApps being used.

Deliverables

The project will contribute to Cardano's DeFi ecosystem, a module of bonding curve primitives explicitly designed for integration into other higher-level protocols and DApps.

All source code will be licensed using an appropriate open-source license, e.g. MIT, and contributions must be contributed patent-free. Documentation will be licensed Creative-Commons CC-BY-SA. Code, documentation, project activity and Jupyter notebooks will be made available on Github.

All project repositories will be made public within one month of receiving funding and project activity will be public from that point onwards.

The project will evolve over time including the extension of bonding curves to bonding surfaces (see Balancer[15]) and the addition of new economic primitives. We are making a commitment to ensure there is long-term support that may eventually be managed and funded by a DAO (using bonding curves to fund and enable it!).

This proposal is to help bootstrap and accelerate that work, funding some of the initial efforts.

Specifically, with the initial project spanning six months, we aim to:

Design specifications translating the system design work of Bonding Curves and RABC into a set of EUTXO protocol designs. A Nix-based reproducible Jupyter Notebook toolkit for protocol engineering to help document and drive aspects of the testing and simulation work. Development of testing and simulations for the specifications and implementation. The Plutus and Plutus TX code implementing bonding curves and prototype RABC. Command-Line tools to define, simulate, test and deploy different bonding curve configurations to testnets or mainnet. Enabling interaction with deployed instances.

Making economic protocols reusable involves a lot more work than if they were just baked into a specific product. It requires modular components but also formal analysis, design and engineering to ensure the implementations behave as expected when combined with other primitives. Ideally, the digital twins of the economic protocols and their specifications can be reused too. Informing the construction of higher-level protocols.

Making something reusable involves more than just engineering and software development; tooling, extensive testing, independent security audits, good documentation, supporting guides, and community involvement are all important.

We may seek further funding from Catalyst for other aspects of the work including:

High-Quality documentation (including videos) to both explain the design and socialise it. Deeper engagement with the community and other projects. Taking the RABC implementation up to production-grade. Develop mechanised proofs, perform property-based testing, and undertake security audits of the core bonding-curve primitives. Design and develop front-end components for DAO and ⍺Bonds functionality. Setup of an associated DAO to drive ongoing development, maintenance and support.

We are using, as a reference, the Cosmos Bond Module[12] and IXO ⍺Bonds[16] implementations. Work will be scheduled with a regular cadence of two weeks over six months.

Key Performance Indicators

Key Metric: Project Velocity [17], defined as a combination of base activity metric of commits pulled from Github.

Activity Metrics: captured as project activity in Github and cadence of deliverables and engineering milestones achieved.

Community Metrics: engagement behaviours broken down into four categories [18] for the Bond Module, to measure how our work is being spread and used in the Cardano ecosystem. These Metrics derive mostly from Github.

Definitions of Success

Three Months: Project setup and initial specifications for bonding curve module and the overall design, along with initial simulations and implementation of the core protocols running on the Plutus Dev nets.

Six Months: Production-ready core protocols engineered and usable on mainnet. Prototype development of RABC. Engagement with individuals interested in contributing and developing different protocols and entering a trusted seed phase for the associated DAO. Documentation to both explains the design and use of the bonding curve primitives.

Twelve Months: RABC implemented. Five projects use the bonding-curve module in their implementation; A mix of DeFi protocols, DApps, and DAO. At least one is an impact finance platform such as IXO ie. They integrate our RABC implementation into IXO Hub and one Stake Pool funds a ⍺Bond. DAO established.

Budget Breakdown

Total Ask: $45K USD funding 0.5 FTE over six months to bootstrap and accelerate development. Budget based on a pro-rata hourly rate spread over up to three team members. The budget assumes an FTE hourly rate of USD$100 that includes all overheads. Hourly rate adjusted for experience, nature of work, individual skills, and short term intermittent nature of project funding.

Software Specification & Engineering: $31,500 USD (70%) Technical Writing: $9,000USD (20%) Product Management: $4,500USD (10%)

References

Deep Dive: Augmented Bonding Curves - https://medium.com/giveth/deep-dive-augmented-bonding-curves-3f1f7c1fa751 Risk-Adjusted Bonding Curves - https://github.com/BlockScience/Risk-Adjusted-Bonding-Curves Alpha Bonds - https://www.alphabond.org/ Social Impact Bond - https://en.wikipedia.org/wiki/Social_impact_bond EEEO Toolkit - https://platformdesigntoolkit.com/eeeo-toolkit/ Prediction Markets - https://en.wikipedia.org/wiki/Prediction_market EulerBeats - https://eulerbeats.com/about The Common Stack https://commonsstack.org/ Conviction Voting - https://medium.com/giveth/conviction-voting-34019bd17b10 Commitment Voting - https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3742435 Shruti Appiah - https://iohk.io/en/team/shruti-appiah Cosmos Bond Module - https://github.com/ixoworld/bonds A Smart Market Toolkit for Cardano. https://cardano.ideascale.com/a/dtd/A-Smart-Market-prototype-for-NFTs/323408-48088 Token Engineering - https://tokenengineeringcommunity.github.io/website/ Bonding Surfaces - https://medium.com/balancer-protocol/bonding-surfaces-balancer-protocol-ff6d3d05d577 IXO Cosmos Blockchain https://github.com/ixofoundation/ixo-blockchain Project Velocity - https://chaoss.community/metric-project-velocity/ Community Metrics - https://communityroundtable.com/best-practices/thecrs-work-out-loud-framework/

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00