NOTE, DEX, and Lending Market

When building DApps, you may wish to leverage Canto's Free Public Infrastructure, such as its native unit of account, DEX, or lending market. This page provides an overview of how these primitives are designed and how you can interact with them.

For mainnet and testnet deployment addresses, refer to the Contract Addresses page:

pageContract Addresses


NOTE must be borrowed from the Accountant via the Canto Lending Market. The amount of NOTE circulating at any given time (including NOTE that users have supplied back to the Canto Lending Market) is equal to the sum of all NOTE and cNOTE not held by the Accountant.

The NOTE smart contract may be modified and redeployed at a new address in the future. For this reason, DApps should use the CToken.underlying() view on the cNOTE contract to determine the address for NOTE instead of hardcoding it.

Canto DEX

The Canto DEX is built around three contracts: BaseV1Factory, BaseV1Pair, and BaseV1Router01. Each liquidity pool is represented by a unique BaseV1Pair contract generated by the BaseV1Factory.

For most use cases, BaseV1Router01 offers sufficient functionality. Key methods include:



Calculates the address for a pair


Checks if an address is a valid pair


Fetches and sorts the reserves for a pair


Calculates amount out for a specified pair


Adds liquidity to a pair


Removes liquidity from a pair


Swaps one token for another directly


Swaps one token for another using a specified route


Gets underlying asset price as a mantissa

For CANTO-specific and other methods, refer to the contract source code.

Canto Lending Market

The Canto Lending Market is an adaptation of Compound v2. Its functional design is unchanged in that the primary means of interacting with the lending market is the CToken, an ERC20 representation of a supplied asset.

Key methods on CToken contracts include:



Deposits a token and mints the corresponding CToken


Redeems a specified amount of CToken tokens for the underlying token


Redeems CToken tokens for a specified amount of the underlying token


Borrows the underlying token


Repays a borrow of the underlying token

For more information on the Canto Lending Market's design, see the Compound v2 docs.

Last updated