All Projects → ixoworld → bonds

ixoworld / bonds

Licence: Apache-2.0 License
A custom Cosmos SDK module for universal token bonding curve functions.

Programming Languages

javascript
184084 projects - #8 most used programming language
go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to bonds

Cosmos Sdk
⛓️ A Framework for Building High Value Public Blockchains ✨
Stars: ✭ 3,144 (+9725%)
Mutual labels:  cosmos-sdk
v1-contracts
🐍Uniswap V1 smart contracts
Stars: ✭ 430 (+1243.75%)
Mutual labels:  market-maker
cosmos-paychan
A Cosmos SDK module to add payment channels to any blockchain built using the SDK.
Stars: ✭ 14 (-56.25%)
Mutual labels:  cosmos-sdk
Tribeca
A high frequency, market making cryptocurrency trading platform in node.js
Stars: ✭ 3,646 (+11293.75%)
Mutual labels:  market-maker
juno
Open Source Platform for Interoperable Smart Contracts
Stars: ✭ 267 (+734.38%)
Mutual labels:  cosmos-sdk
cosmospy
Python tools for Cosmos wallet management and offline transaction signing
Stars: ✭ 57 (+78.13%)
Mutual labels:  cosmos-sdk
keplr-wallet
The most powerful wallet for the Cosmos ecosystem and the Interchain
Stars: ✭ 321 (+903.13%)
Mutual labels:  cosmos-sdk
regen-ledger
Blockchain for planetary regeneration
Stars: ✭ 154 (+381.25%)
Mutual labels:  cosmos-sdk
interchain-security
interchain-security houses the code implementing interchain security (aka replicated security) for Cosmos based blockchains.
Stars: ✭ 96 (+200%)
Mutual labels:  cosmos-sdk
distributed-compliance-ledger
DCL is a public permissioned ledger framework for Zigbee compliance certification of device models. The ledger is based on Cosmos SDK and Tendermint.
Stars: ✭ 41 (+28.13%)
Mutual labels:  cosmos-sdk
Krypto Trading Bot
Self-hosted crypto trading bot (automated high frequency market making) written in C++
Stars: ✭ 2,589 (+7990.63%)
Mutual labels:  market-maker
SecretNetwork
𝕊 The Secret Network
Stars: ✭ 466 (+1356.25%)
Mutual labels:  cosmos-sdk
sommelier
Sommelier Chain
Stars: ✭ 64 (+100%)
Mutual labels:  cosmos-sdk
tumbleweed gdax
Prototype market maker specialized to trade on CoinbasePro
Stars: ✭ 41 (+28.13%)
Mutual labels:  market-maker
likecoin-tx-poll
Firestore based service of polling eth status and resending tx
Stars: ✭ 13 (-59.37%)
Mutual labels:  cosmos-sdk
lfb
LINE Financial Blockchain forked from gaia(https://github.com/cosmos/gaia)
Stars: ✭ 30 (-6.25%)
Mutual labels:  cosmos-sdk
market-maker-bot
MM Bot for OpenDEX. Make profits via arbitrage between OpenDEX and a connected CEX account like Binance 🤖
Stars: ✭ 84 (+162.5%)
Mutual labels:  market-maker
testnets
Stargaze testnets
Stars: ✭ 43 (+34.38%)
Mutual labels:  cosmos-sdk
ledger-cosmos-js
No description or website provided.
Stars: ✭ 23 (-28.12%)
Mutual labels:  cosmos-sdk
desmos
Improving the well-being of users on social networks through the blockchain technology.
Stars: ✭ 82 (+156.25%)
Mutual labels:  cosmos-sdk

Bonds Module

The Bonds module is a custom Cosmos SDK module that provides universal token bonding curve functions to mint, burn or swap any token in a Cosmos blockchain.

In the future, once the Cosmos Inter-Blockchain Communication (IBC) protocol is available, this should enable cross-network exchanges of tokens at algorithmically-determined prices.

The Bonds module can be deployed through Cosmos Hubs and Zones to deliver applications such as:

  • Automated market-makers (see Uniswap)
  • Decentralised exchanges (see Bancor)
  • Curation markets (see Relevant)
  • Development Impact Bonds (see ixo alpha-Bonds)
  • Continuous organisations (see Moloch DAO)

Hayek famously said that "...prices are an instrument of communication and guidance which embody more information than we directly have".

Module functions

Any Cosmos application chain that implements the Bonds module is able to perform functions such as:

  • Issue a new token with custom parameters.
  • Pool liquidity for reserves.
  • Provide continuous funding.
  • Automatically mint and burn tokens at deterministic prices.
  • Swap tokens atomically within the same network.
  • Exchange tokens across networks, with the IBC protocol.
  • Batch token transactions to prevent front-running
  • Launch a decentralised autonomous initial coin offerings (DAICO)
  • ...and other DeFiant innovations.

Pricing algorithm libraries

The Bonds module framework supports libraries for all types of pricing algorithms, such as:

  • Exponential
  • Logarithmic
  • Negative exponential
  • Constant product
  • Positive initial price
  • Quasi-polynomial
  • Reserved Supply (Augmented)

Each formula is specified within the module library. This includes:

  • Derived Mint equation
  • Derived Burn equation

Updates to the module pricing functions must pass through a network governance process to update the module on all nodes, for changes to be made. This is an important security feature.

Parameters

Each bond has an initial set of constant state (invariant) parameters that cannot be updated once these have been initialised. Parameters include:

  • Pricing function (the algorithm that will be used)
  • Issuer
  • Token name
  • Token symbol
  • Reserve wallet address
  • Transaction fee rate
  • Exit tax rate
  • Fee wallet address
  • Maximum token supply
  • Order quantity limits
  • Sanity rates

When a bond transaction (such as buy, sell, swap) is submitted, this includes the variable parameters:

  • Order quantity
  • Maximum price
  • Wallet address

Some of the parameters of the bond may be edited:

  • Token name
  • Sanity rates
  • Order quantity limits

Building and Running

Note: Requires Go 1.13+

This repository is set up as a Cosmos SDK application and contains the Bonds module under ./x/bonds/.

To build and run the application:

make run

Alternatively, to run with one of the users set up to use Ledger:

make run_ledger

To build and run the application with some preset accounts:

make run_with_data

Demos

To run a demo (requires application to be run using run_with_data):

make demo

The demo consists of:

  • Bond creation
  • Bond querying
  • A mix of buys and sells

To run a more specific demo, check out the scripts/more_demos/ folder.

Tutorials

Guided tutorials are also provided and can be found in the tutorials folder here!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].