Normal is a synthetic asset protocol enabling investors to trade any global asset entirely on-chain.
Normal Tokens (our synthetic assets) are USDC-backed assets that track the value of a target asset (i.e. Bitcoin). We took heavy inspiration
https://medium.com/uma-project/introducing-umas-long-short-pair-lsp-financial-primitive-84596803864f
- Mint and redeem Normal token pairs with USDC to earn LP yield
- Earn additional yield by providing Normal token pairs as liquidity to the Treasury
- Trade long and short exposure to Bitcoin, Ethereum, Solana, Ripple, and Cardano without leaving Stellar
- Support for Top 30 cryptocurrencies
- Support for other asset classes such as commodities, stocks, and bonds
- Custom index funds for automated diversification and portfolio management
- long_short_pair - A DeFi primitive for financial derivatives using long and short tokens
- long_short_pair_factory - Factory for creating and interacting with Long Short Pair contracts
- long_short_pair_calculator - Price logic to create linear Long Short Pairs
- normal_oracle - A standardized oracle supporting multiple providers and risk measures
- treasury - A primary market for Long Short Pair tokens with accurate price enforcement and LP protections
- access_control - Handles permissioned access to contracts using role-based access control (RBAC)
- oracle - Handles oracle types and utilities
- token_pair - Handles long short pair token utilities
- types - Handles contract types
- upgrade - Handles contract upgrades
- utils - Handles shared types, utils, constants, errors, macros, and more
- Task as task runner
- installed latest Rust version
- soroban cli
git clone git@github.com:normalfinance/stellar-v1.git
task build
task test
check the Soroban documentation: https://soroban.stellar.org/docs/reference/rpc
- @jblewnormal
- @jaymalve
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
You can find audits of this codebase in the /audits directory. These are our most recent audits:
- Summer 2025 x Halborn - (https://github.com/normalfinance/stellar-v1/audits/)
- 📧 Email: hello@normalfinance.io
✈️ Telegram: @normalfinance- 🐣 Twitter: @normalfi
- 🥷🏼 GitHub: @normalfinance
- 👾 Discord: @Normal
- 📚 Docs: @normalfinance
- 🤓 Blog: @normalfinance