Open Sourcing the Notional V2 Smart Contracts

Jeff Wu
Jeff Wu

We’re excited to announce that today we're open sourcing the Notional V2 smart contracts under the GPL-v3 open source license. Our mission with Notional V2 is to create a fully decentralized fixed rate lending and borrowing platform that maximizes capital efficiency – no easy feat. When we set out to build Notional V2 we were painfully aware of the limitations in Notional V1. Here are some of the biggest fixes we’ve implemented with Notional V2:

  • Providing liquidity is now a completely passive and auto-rolling experience.
  • Liquidity providers earn risk free market interest rates.
  • Initializing fCash liquidity pools is actively managed by the protocol.
  • fCash positions are now valued at market interest rates.
  • Settlement no longer results in borrowers losing their collateral.
  • Longer term fCash markets can be launched without fragmentation of liquidity.
  • Storage in our smart contracts is no longer fragmented, which makes the system easier to upgrade and more gas efficient.

Notional V2 is a completely new code base that addresses the limitations that were holding growth and usage back. We've also transitioned from using Hardhat (Typescript Based) to Brownie (Python Based) as the smart contract development platform.

Understanding the Code

Notional V2 is a large and complex code base. In order to help developers and auditors better understand it, we’ve released  a technical deep dive blog series and recorded a series of walkthrough videos.

Security Audits

The smart contracts are currently under audit by ABDK Consulting. We will also be doing a Code Arena public audit in the coming weeks. Finally, we are also working with Certora to do formal verification of the protocol. All the results will be made public prior to launch. The Certora formal verification specification will be merged into the open source repository and made public as well.

Post launch, we will be running a bug bounty program through Immunefi. If you do have security concerns or bug reports, you can always reach us at security@notional.finance.

Developer Tools

As we get closer to launch, we will also open source a smart contract developer SDK for integrating with Notional V2 via Solidity as well as a Notional V2 Typescript SDK for integrations with Notional V2 via off chain applications.

We believe that programmatic trading will represent a large chunk of trading on Notional V2 and it will be a priority for us to build tools that the community can use to execute programmatic trading strategies. Stay tuned for more information about developer tools.

Finally, we are still working on our web interface for Notional V2 and plan to have a site for users to test Notional V2 transactions in early September.

Code Walkthroughs

To better understand the complex code base, find the code walk through videos below:

Part 1: fCash Markets
Part 2: Trading
Part 3: Portfolios and Settlement
Part 4: Initialize Markets
Part 5: Valuation and Liquidation
Part 6: ERC1155, nToken Redemption and Incentives

For the deep dive blog series, use the following links:

Notional V2 Technical Deep Dive Part 1: fCash Markets
Notional V2 Technical Deep Dive Part 2: Trading Actions
Notional V2 Technical Deep Dive Part 3: Valuation Framework
Notional V2 Technical Deep Dive Part 4: Cash Groups and nTokens
Notional V2 Technical Deep Dive Part 5: Settlement and Initialization
Notional V2 Technical Deep Dive Part 6: Liquidation
Notional V2 Technical Deep Dive Part 7: Advanced Trading

Jeff Wu

Co-Founder and CTO