Your decentralized crypto streaming platform - Automate real-time salary, startup vesting or any transactions with enhanced security and transparency
Supported platform: BNB Chain, Polygon, Avalanche, Optimism, Arbitrum, Fantom
Currently, many platforms support payments with fiat money, which could be used for investing, payroll, purchases, etc. Nevertheless, these platforms encounter several shortcomings, including:
Thus, to solve these issues, we have made use of blockchain and (the application of) tokens to create a multi-functional crypto streaming protocol.
At Calamus Finance, we aim to facilitate the process of constant payments transparently and securely.
The protocol is currently available on Fantom, BNB, Polygon, Avalanche, Optimism, and Arbitrum mainnets.
Calamus Finance is a decentralized crypto streaming protocol that allows people to send/receive payments on any time basis and vest tokens automatically. It can function well from small payments like subscriptions or allowances to bigger ones like company's payroll or startup vesting.
Calamus Finance supports all ERC-20 tokens.
Main functions:
Potential use cases: Company’s payroll, Token vesting, Subscription, Airdrop, etc.
Users can:
Data from these features are validated at DApp and Smart Contract, hence minimizing human risk and improving security.
Terms explanation:
1: Recipient's unlocked amount: calculated from start time to the current time (block.timestamp)
2: Recipient's withdraw amount: the amount that recipient has withdrawn
3: Recipient's remain balance = unlocked amount (1) - withdraw amount (2)
4: Sender balance = total amount (5) - unlocked amount (3)
5: Total stream amount
When a stream is canceled, smart contracts ensure the unlocked amount (1) will be transferred to the recipient account, and the sender balance (4) will be transferred to the sender account.
When a stream is transferred to a new recipient address, smart contracts ensure the unlocked amount (1) will be transferred to the current recipient account, while the sender balance (4) will continue to be streamed to the new recipient.
All-in-one app for all features and all chains.
Every time users change their blockchain, the app will use Network adapters to be able to execute code that matches that chain.
Linked to each network adapter is a set of supporting JS libraries to connect to different wallets and call smart contracts.
The app uses a cloud database to store user data such as account and connection history. This database helps enhance the customer experience in managing their connected wallets and reduce the number of smart contract calls.
The app architecture is built to scale quickly and adopt more Blockchains without affecting any features running on existing Blockchains.
Smart Contracts usage map:
Our tech stack:
NodeJS, React, NextJS, Redux, Typescript…
Charka UI: a React UI component highly suitable for building admin apps.
Javascript libraries like Web3 and Ethers to interact with smart contracts and MetaMask wallet.
ChartJS to build reports on the dashboard.
Moment JS to process stream time on the Frontend and contribute to data reporting.
Mongo Atlas DB to store Recipient’s extra information because storing unnecessary information on-chain will increase fee when creating streams and sometimes exceed the logic limit of a Solidity Smart Contract.
Covalenthq API to collect user’s token balance on the registered wallet address.
Binance public API to collect token to USD price information, thus providing an insightful display for users.
To deploy Smart Contracts on Mumbai Testnet, we use Truffle to deploy and debug Smart Contracts.
In addition, we also have business-related problems that are by no means less challenging:
The problem of rounding and handling residuals when creating a stream by the second, minute, hour, day, month and year.
The problem of transferring or canceling the stream midway, which interrupts the current stream data.
The problem of account security and validation in the process of manipulating streams.
##Accomplishments that we're proud of
Build a Money Streaming protocol on multiple chains (6 and counting).
Overcome technical challenges to accomplish goals.
Develop technical functions so that users on Fantom Network can pay, receive and vest tokens easily.
Gain a lot of in-depth knowledge about blockchain and finance.
TRON Grand Hackathon 2022: Web3 2nd place