# Welcome

Welcome to Ajna's educational docs!

[**What is the Ajna Protocol?**](https://faqs.ajna.finance/faqs/general#what-is-the-ajna-protocol)

### **Disclaimer**

*This site is for general information purposes only. It does not constitute investment advice or a recommendation or solicitation to buy or sell any investment and should not be used in the evaluation of the merits of making any investment decision. It should not be relied upon for accounting, legal or tax advice or investment recommendations. This site reflects the current opinions of the authors and is not made on behalf of Ajna Labs LLC, or their affiliates and does not necessarily reflect the opinions of Ajna Labs, their affiliates or individuals associated with them. While the authors strive to provide accurate and up-to-date information, we make no guarantees or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability, or availability of the information contained on this website or the products, services, or related graphics. Any reliance you place on such information is strictly at your own risk. In no event will we be liable for any loss or damage, including without limitation, indirect or consequential loss or damage, or any loss or damage whatsoever arising from loss of data or profits arising out of, or in connection with, the use of this website.*


# Quick Links

### Resources

Analytics | [https://info.ajna.finance](https://info.ajna.finance/ethereum)\
Audits | <https://github.com/ajna-finance/audits>\
Deployment Addresses | [https://faqs.ajna.finance/info/deployment-addresses ](<https://faqs.ajna.finance/info/deployment-addresses >)\
Dev Guides | <https://ajna-by-example.org/>\
Discord | <https://discord.gg/F4NEtJnY2j>\
ELI5 | <https://www.ajna.finance/eli5> \
FAQs | [https://faqs.ajna.finance/ ](<https://faqs.ajna.finance/ >)\
GitHub | <https://github.com/ajna-finance> \
News | [https://forum.ajna.finance/c/blog](< https://forum.ajna.finance/c/blog>)\
Twitter | [https://twitter.com/ajnafi ](<https://twitter.com/ajnafi >)\
Website | <https://www.ajna.finance/> \
Whitepaper | <https://www.ajna.finance/whitepaper>

### Current UIs for Borrowing and Lending

Ajnafi | <https://ajnafi.com/>\
Arb Capital | [https://ajna.arb.capital](https://ajna.arb.capital/)

### Current UIs for Liquidations

AjnaFi | <https://ajnafi.com/>\
\&#xNAN;*To be a kicker or participate in auctions, click on pool details and click "manage pool"* \
\
Find liquidation opportunities \
<https://info.ajna.finance/ethereum/auctions>\
<https://info.ajna.finance/base/auctions>\
<https://info.ajna.finance/polygon/auctions>\
<https://info.ajna.finance/arbitrum/auctions>\
<https://info.ajna.finance/optimism/auctions>\
<https://info.ajna.finance/blast/auctions>\
<https://info.ajna.finance/gnosis/auctions>

### Tools

AjnaMatch | <https://ajnamatch.com/> \
Discord Ajna Notifications Tool | <https://domino.run/explore/apps/ajna-oy238dpmiui> \
Telegram Notification Tool | <https://t.me/Ajna_notiferBot>\
Threshold Price Calculator | <https://docs.google.com/spreadsheets/d/11ieSAIUDOWgHBOmzGXXC7cDcbAFxAD3bAPcE9DBx6gY/edit?usp=sharing>

### Info Sites

BA Dashboard |  [https://info.ajna.finance](https://info.ajna.finance/ethereum)\
Ajnaburn | <https://ajnaburn.io/> \
Gunboats CRA Dune Dashboard | <https://dune.com/gunboats/ajna-reserve-auction> \
Treebeard Dune Dashboard | <https://dune.com/treebeard/ajna>

### Education and Media

Definikola Thread on Ajna (04-23) \
[https://twitter.com/definikola/status/1642852178040860672 ](<https://twitter.com/definikola/status/1642852178040860672 >)\
Ajna on The Crypto Illuminati (05-23) \
[https://twitter.com/i/spaces/1yNGaNXZOoRJj ](<https://twitter.com/i/spaces/1yNGaNXZOoRJj >)\
Ajna + Oasis Twitter Space (04-25-23) <https://twitter.com/oasisdotapp/status/1650907557056200706> \
StableLab: Defi Without Oracles Article (06-12-23) \
[https://www.stablelab.xyz/post/ajna-finance-defi-without-oracles ](<https://www.stablelab.xyz/post/ajna-finance-defi-without-oracles >)\
IEEE Paper on Scaled Fenwick Trees by CoFounder, Matt Cushman (07-27-23) [https://ieeexplore.ieee.org/document/10196100 ](<https://ieeexplore.ieee.org/document/10196100 >)\
The Role of Governance in Lending Markets' Risk Management (08-09-23)\
[https://twitter.com/i/spaces/1gqxvyNPXzWJB ](<https://twitter.com/i/spaces/1gqxvyNPXzWJB >)\
Ajna Unleashed w/ Ian Harvey from Ajna x Josh from sommfinance (08-24-23) <https://twitter.com/i/spaces/1OyKAVLvwmaGb>\
AMA Post Mortem & Redeployment w/ David & Greg (10-17-23) <https://x.com/ajnafi/status/1714324341565858111>\
Information about the AJNA Token (01-05-24) <https://mirror.xyz/0xc1112dbbcA87aAE49CAfe4F3aE065E1B0dDd5bbB/J5M0GWA581YTzUdf7vHntf-N1IvLOTrKwgVi5e0DYys> \
Ajna Burning Secrets (01-30-24) \
<https://medium.com/@poolpitako/ajna-burning-secrets-7e9f53993880> \
Ajna on summerfi tutorial (02-02-24) \
<https://youtu.be/2WtWinp-9eA?feature=shared> \
f(x) Protocol x Ajna Twitter Space (02-14-2024) <https://x.com/protocol_fx/status/1757864851995509065> \
Revelo Lending Roundtable Twitter Space (03-21-24) <https://x.com/ReveloIntel/status/1770772804423598295> \
X Space: Meet the Ajna Protocol Grantees Cycle 1 (04-18-24) \
<https://youtu.be/8lmRpFs39x8?si=EfbCX53F_H13YA_v>

### Listings

CoinGecko | [https://www.coingecko.com/en/coins/ajna-protocol ](<https://www.coingecko.com/en/coins/ajna-protocol >)\
CoinMarketCap | [https://coinmarketcap.com/currencies/ajna-protocol ](<https://coinmarketcap.com/currencies/ajna-protocol >)\
DappRadar | <https://dappradar.com/dapp/ajna-protocol> \
DeBank | <https://debank.com/official-account/112430> \
DefiLlama | <https://defillama.com/protocol/ajna> \
Messari | <https://messari.io/asset/ajna-protocol-0> \
TokenomicsHub | <https://tokenomicshub.xyz/ajna> \
Blockspot.io | <https://blockspot.io/coin/ajna-protocol>

### Liquidity&#x20;

AJNA-ETH Uniswap V2 <https://v2.info.uniswap.org/pair/0x9fdD7F845BaCa6D71d93f1619250c6f0b7a58842> \
AJNA-ETH Uniswap V3 <https://info.uniswap.org/#/pools/0xb79323dded09eabae6366ce11c51ec53b3fcd57e> \
AJNA-DAI Uniswap V3 <https://info.uniswap.org/#/pools/0x1cf6180ca42c03a83dce0fb01fdea73b687f571a> \
AJNA-USDC Uniswap V3 <https://info.uniswap.org/#/pools/0x348575e1a49265aee52f038466b8b01a1c015456>&#x20;

### Flash Loan Liquidity&#x20;

PMM (20,000): 0x7A85e146af25e9EF8De864c45A31CE685d41F338 <https://etherscan.io/address/0x7A85e146af25e9EF8De864c45A31CE685d41F338#code> \
PMM (1,000): 0x55F341E9eC422F8cf599ab24232E5896d61C73f4 <https://etherscan.io/address/0x55F341E9eC422F8cf599ab24232E5896d61C73f4#code>


# Glossary

Definitions are simplified and may not be comprehensive.

#### **Auction Reference Price:**

Is the max(HTP, NP, ReferencePrice\_*ActiveAuctions*) and is used in the liquidation auction starting price calculation.

#### **Borrower Inflator (BI)**: &#x20;

The borrower inflator is used in the calculation of the neutral price, which can be used as a liquidation price. BI at a given time t to be the debt that a borrower would have incurred if they had borrowed a single quote token at the initiation of the contract and had never repaid or taken out any additional debt.

#### **Bond Factor (BF)**:&#x20;

Determines how much the liquidator must deposit for the bond. Bond factor multiplied by debt is how much the liquidator has to post to send the loan to auction, denominated in quote token.

<figure><img src="/files/FgXGnyNGc8NFRPrK9EXH" alt=""><figcaption></figcaption></figure>

#### **Bond Payment Factor (BPF)**:&#x20;

Is the factor of proportionality applied to the reward or penalty given to the liquidator based on each take amount and price when collateral liquidation auctions occur.

#### **Borrower Take Penalty**:&#x20;

A liquidation penalty applied when the collateral is taken during the auction.

<figure><img src="/files/UnqObuoNewsOtu2mC6wv" alt=""><figcaption></figcaption></figure>

#### **Challenge Stage**:&#x20;

The final part of each voting cycle is a seven day challenge stage to contest the payout configuration.

#### **Claimable Collateral**:&#x20;

Each price bucket may have claimable collateral which is exchangeable with quote tokens.

#### **Claimable Reserve Auction (CRA)**:&#x20;

Claimable reserves are set aside and can be auctioned off in a Dutch auction known as a CRA. Once the CRA is initiated, AJNA tokens may be used to bid in exchange for the claimable reserves, which are always denominated in a pool's quote token.

<figure><img src="/files/uc6VsSucxsf7vbcd60G3" alt=""><figcaption></figcaption></figure>

**Collateral Token (CT)**:&#x20;

Can be a regular fungible token (ERC20) or an NFT (ERC721). Borrowers deposit CT into the protocol to secure debt.

#### **Deposit**:&#x20;

When a lender provides quote token liquidity to a specified price bucket.

#### Deposit Fee:

All deposits incur a small fee equivalent to 8 hours of interest. The fee accrues on any new deposit, and any action which moves quote token down in price. The fee is not applied to actions which move quote token up in price.

#### **Dutch Auction**:

A type of auction where the price starts high and gradually decreases until a buyer agrees to make a purchase.

#### **Fenwick Tree**:&#x20;

A Fenwick tree or binary indexed tree is a data structure that can efficiently update elements and calculate prefix sums in a table of numbers. The Ajna Protocol uses a modified Fenwick Tree to hard code price buckets in Ajna pools.

#### **Funding Mechanism (FM)**:&#x20;

On a quarterly basis, a portion of the treasury is distributed to projects to facilitate the growth of Ajna. Teams and/or individuals submit proposals that are voted on by Ajna token holders and delegates.

#### **Funding Stage**:&#x20;

This is the second stage of a given voting cycle which uses a quadratic voting schema, lasts for 10 days, and involves up to 10 proposals.

#### **Highest Price Bucket (HPB)**:&#x20;

The highest-priced bucket which contains a deposit, not counting claimable collateral.

#### **Highest Threshold Price (HTP)**:&#x20;

The threshold price of the least collateralized loan. Lender deposits above the HTP earn interest. This is also known as the *Minimum Yield Price***.**

#### **Kick**:&#x20;

A technical term synonymous with "initiate". When a loan is under-collateralized it qualifies to be “kicked”, which would initiate the sale of its collateral through a liquidation auction.

#### **Liquidation Auction**:&#x20;

A dutch auction which enables anyone to purchase portions of the collateral at a price that starts at *256 x reference\_price* and decays towards 0 starting with 6 twenty minute halvings, followed by 6 two hour halvings, followed by hour halvings till the end of the 72 hour auction.

#### **Liquidation Auction Decay**:&#x20;

The speed at which a liquidation auction reduces the price of the collateral being offered. The decay moves towards 0 starting at *256 x reference\_price* with 6 twenty minute halvings, followed by 6 two hour halvings, followed by hour halvings till the end of the 72 hour auction.

#### **Liquidation Bond**:

A bond paid in quote token, purchased by the initiator of a liquidation auction, that is awarded or penalized depending on the settling auction price relative to the loan's Neutral Price. The bond exists to prevent unfair liquidations.

#### **Liquidation Debt**:&#x20;

The total amount of debt being liquidated.

#### **Liquidity Provider Balance (LPB)**:&#x20;

A claimable token that represents a user's transferable share of a price bucket of a given pool.

#### **Lowest Utilized Price (LUP)**:&#x20;

The LUP is the lowest price bucket where there is a utilized deposit. It could also be seen as the price of the marginal (lowest priced and therefore least aggressive) lender matched with a borrower.

#### **Meaningful Actual Utilization (MAU)**:&#x20;

The ratio of the 12 hour moving average of debt to the 12 hour moving average of meaningful deposit, where meaningful deposit is the amount of deposit priced at or above the average threshold price of all loans, weighted by their debt.

#### **Meaningful Deposit (MD)**:&#x20;

Deposit above the debt-weighted average threshold price of loans.

#### **Minimum Borrow Size**:&#x20;

The minimum borrow size is 10% of the average loan size in a given pool. This is designed to deter small loans. These can be used to spam and grief the system.

#### **Net Interest Margin (NIM)**:&#x20;

NIM is a percentage of the borrow interest rate that accrues in reserves. The NIM is approximately 10% of the interest rate revenue. &#x20;

#### **Neutral Price (NP)**:&#x20;

The neutral price is essentially a loan's liquidation price. It is recomputed every time the borrower draws more debt, or removes collateral. The NP is used in the liquidation bond to reward or punish kickers of liquidations. It is calculated as `np = (debt/coll) * 1.04 * (1 + sqrt(rate)/2)` or

&#x20;                        ![](/files/Xc6ymrvvl9yBil2QThzt)<br>

**Oracle:**

Oracles provide external data to blockchain applications. They come in the form of price feeds and other informational feeds. The Ajna protocol is built without oracles.

#### **Origination Fee**:&#x20;

Calculated as the greater of the current annualized borrower interest rate divided by 52 (one week of interest) or 5 bps multiplied by the loan’s debt.

#### **Pool**:&#x20;

A pool aggregates all lending and borrowing activity of a specific quote token as secured by a specific collateral token.

#### **Pool Collateralization**:&#x20;

A percentage that represents a pool's debt to collateral ratio. In Ajna this is calculated by the following formula:&#x20;

`Total Available Collateral / Total Encumbered Collateral = (Total Collateral)*LUP/Deb.`

#### **Price bucket**:&#x20;

Price buckets are hard-coded prices, discretized into 50 bps increments, at which users can deposit quote tokens or collateral. A price bucket can be freely traded against. In the worst case scenario, lenders would end up buying collateral at their chosen prices.

#### **Quote Token (QT)**:&#x20;

Must be an ERC20 token and is what lenders deposit into Price Buckets.

#### **Reference Price**:&#x20;

Is the max(HTP, NP) and is used in the liquidation auction starting price calculation.

#### **Reserves**:&#x20;

Origination fees, take penalties, and net interest margin on loans accumulate in pool reserves. Reserves are used to provide a liquidity cushion to lenders by absorbing bad debt if some should occur. Reserves are also used to buy and burn AJNA tokens.

#### **Screening Stage**:&#x20;

This is the first stage in a given voting cycle which uses a one-token-one-vote schema, lasts for 73 days, and involves an unlimited number of proposals. The top 10 move to the funding stage.

#### **Take Penalty Factor (TPF)**:&#x20;

The take penalty factor is used to compute the Take Penalty, which is the TPF times the amount of quote token used to purchase collateral.<br>

<figure><img src="/files/VRme2K5zTkexvTjoYbTr" alt=""><figcaption></figcaption></figure>

#### **Target Utilization (TU)**:&#x20;

The ratio of the 3.5 day EMA of system debt to 3.5 day EMA of LUP\*totalCollateral. This is able to be sampled / stored every half day (at the same time that interest rate updates become eligible) although gaps are OK. The lambda used for the EMAs is <br>

<figure><img src="/files/qAOW91mCnhDAF298dbYB" alt=""><figcaption></figcaption></figure>

#### **Threshold Price (TP)**:&#x20;

The price at which the value of the collateral equals the value of the debt, inflated by 4%, for the purposes of loan collateralization. TP is the collateral price at which the borrower would be at effectively 100% LTV.\
\
By taking a loan’s debt and dividing it by the amount of collateral pledged, the loan’s threshold price, TP, can be calculated:

<figure><img src="/files/N4L8frPxTol0UYgXHWb7" alt="" width="226"><figcaption></figcaption></figure>

#### **Total Encumbered Collateral**:&#x20;

Total Debt when described in quote token terms or Total Debt/LUP if described in collateral token terms.

#### **Treasury**:&#x20;

A balance of AJNA tokens, initially 30% of the total token supply, 300,000,000 tokens, held by a hard-coded address associated with the protocol only accessible through the Funding Mechanism.

#### **Total liquidity provider balance (Total LPB)**:&#x20;

The exchange rates between LPB in price bucket with price p, and quote token (deposit) and collateral token (claimable collateral) are:<br>

<figure><img src="/files/W9k7TLzITEv1Di0ealUE" alt=""><figcaption></figcaption></figure>

**Unutilized Liquidity:**

All lender deposits below a given pool's HTP. This liquidity does not earn interest since it is not being utilized by anyone.<br>


# General

[What is the Ajna Protocol?](#what-is-the-ajna-protocol)\
[What are the key features of the Ajna Protocol?](#what-wallets-can-i-use-with-ajna)\
[What are some of the use cases?](#what-are-some-of-the-use-cases)\
[Where can I use the Ajna Protocol?](#where-can-i-use-the-ajna-protocol)\
[What wallets can I use with Ajna?](#what-wallets-can-i-use-with-ajna)\
[Who are the Stakeholders of the protocol?](#who-are-the-stakeholders-of-the-protocol)\
[What are the Fees?](#what-are-the-fees)\
[How much Net Interest Margin does the Ajna Protocol earn?](#how-much-net-interest-margin-does-the-ajna-protocol-earn)\
[Can an asset be too expensive or too cheap to use in Ajna?](#can-an-asset-be-too-expensive-or-too-cheap-to-use-in-ajna)\
[Does Ajna use token governance to make changes to its smart contracts?](#does-ajna-use-token-governance-to-make-changes-to-its-smart-contracts)\
[What other networks will Ajna be deployed on?](#what-other-networks-will-ajna-be-deployed-on)\
[Has Ajna been audited?](#has-ajna-been-audited)\
[Does Ajna have a bug bounty?](#does-ajna-have-a-bug-bounty)\
[What happens if the code becomes outdated?](#what-happens-if-the-code-becomes-outdated)\
[What happens if the front end sites go down?](#what-happens-if-the-front-end-sites-go-down)\
[Does Ajna labs have admin control over the protocol?](#does-ajna-labs-have-admin-control-over-the-protocol)\
[Why is it a big deal that Ajna’s design excludes price oracles?](#why-is-it-a-big-deal-that-ajnas-design-excludes-price-oracles)\
[What is the Ajna Foundation?](#what-is-the-ajna-foundation)\
[Where can I get information about Ajna?](#where-can-i-get-information-about-ajna)\
[How can I get involved?](#how-can-i-get-involved)

### What is the Ajna Protocol?

The Ajna protocol is a noncustodial, peer-to-pool, permissionless lending and borrowing system that functions without governance or external price feeds. The current version is built for Ethereum Virtual Machine(EVM) compatible networks.&#x20;

### What are the key features of the Ajna Protocol?

* Permissionless pool creation
* Borrow or lend with ERC-20 tokens
* Borrow against ERC-721 NFTs and NFT subsets
* Perpetual loans
* Price-specified lending
* Utilization based interest rates
* Liquidation bonds
* Non-rehypothecated collateral
* Uncapped pools (no maximum lend or borrow amounts)
* Immutable protocol (no protocol governance)
* No whitelists
* No oracles

### What are some of the use cases?

Stablecoin/Stablecoin

Ajna enables the creation of like-asset money markets. For example, stablecoin collateral and stablecoin quote tokens can be used, such as USDC as collateral and USDT as quote token. The lowest collateralization ratio is only possible with Ajna because this parameter is set by users rather than by governance.

Leverage

Ajna offers borrowers the ability to access leverage, which involves using borrowed funds to increase their trading position beyond what would be possible with their cash balance alone. While existing DeFi protocols work well for large and liquid tokens, they often have high minimum collateralization ratios that limit the maximum amount of leverage available. Ajna's unique feature of allowing lenders to choose their own collateralization ratios enables borrowers to open positions that may not be feasible with current protocols. Where current protocols reject lower tier tokens, Ajna creates a possibility for these assets to be utilized for leverage.

NFT borrowing

Another use case is NFT borrowing. In the current market, only the top 20 collections are serviced, but Ajna has no such limitation. It can be used by current NFT owners to get loans instead of selling their assets. This is especially useful for newer projects that don’t want to deal with getting their NFTs whitelisted elsewhere.

Shorting Markets

Lastly, Ajna can facilitate shorting markets. By designating an “XYZ” token as the quote token and a stablecoin as the collateral token, a borrowing market is created where “XYZ” tokens can be borrowed and shorted, allowing for speculation on the “XYZ” token's declining price. Such facilities are essential for market makers to develop efficient sell-side liquidity. What makes Ajna distinct among current DeFi protocols is the variety of possible shorting markets it can offer.

### Where can I use the Ajna Protocol?

***Current UIs for borrow/lending*** \
[Arb Capital](https://ajna.arb.capital/) | [https://ajna.arb.capital](https://ajna.arb.capital/)\
[BuiltbyMom UI](https://Ajnafi.com) | <https://Ajnafi.com><br>

***Current UIs for liquidations***\
[Liquidations UI](https://app.ajna.finance/markets) | [https://Ajnafi.com](https://ajnafi.com/)\
*To be a kicker or participate in auctions, click on pool details and click "manage pool"* \
\
***Access Old Pools from first deployment***\
[*https://retired.ajnafi.com/*](https://retired.ajnafi.com/)

### What wallets can I use with Ajna?

Typically any regular wallet with 12 seed phrase or 24 seed phrase should work cleanly. We have seen "newer" wallets like erc-4337 standard have issues when connecting with Ajna (use these new wallets at your own risk).  Note regular wallets like Rabby, Metamask, Ledger, Gnosis safe wallet work with out issue and are based on older battle tested ERC standards.

### Who are the Stakeholders of the protocol?

* **Lender**: Lenders choose what valuation they are willing to lend against by depositing tokens into specific price buckets.
* **Borrower**: Borrowers deposit collateral tokens into pools and borrow quote tokens.
* **AJNA Tokenholder**: Delegate their tokens or self-delegate and vote on grant funding decisions.
* **Delegate**: Receives delegated votes and votes on grant proposals.
* **Liquidator**: Triggers liquidation of bad loans by putting up 1-30% of the positions debt in a liquidation bond that pays out depending on the outcome of the collateral sale.
* **Liquidation Auction Bidder**: Bids for and purchases collateral on sale during liquidation auctions.
* **Reserve Auction Bidder**: Bids for and purchases AJNA on sale during reserve auctions.
* **Integrator**: 3rd party that decides to integrate Ajna into their own application, product, or platform.

### What are the fees?

<table><thead><tr><th width="135.33333333333331">Who</th><th width="225">Fee</th><th>Detail</th></tr></thead><tbody><tr><td>Lender</td><td>Deposit Fee</td><td>Charged when depositing quote tokens or moving them to lower price buckets, <br>equivalent to <em>8 hours of interest.</em></td></tr><tr><td>Borrower</td><td>Origination Fee</td><td>Charged to all debt and is <br><em>the greater of one week of interest or 0.05%.</em></td></tr><tr><td>Borrower</td><td>Variable Interest Rate </td><td>APR charged on debt, <em>may change</em> <br><em>once every 12 hours in +- 10% steps.</em></td></tr><tr><td>Borrower</td><td>Liquidation Penalty, <br>AKA the <a href="https://faqs.ajna.finance/getting-started/glossary#borrower-take-penalty">Borrower Take Penalty</a></td><td>Charged when collateral is taken from the auction at a variable rate depending on the collateral's sale price.</td></tr><tr><td>Everyone</td><td>Network transaction fees</td><td>Charged on all transactions, <br><em>varies by network and other factors.</em></td></tr></tbody></table>

### How much Net Interest Margin does the Ajna Protocol earn?

The protocol earns between 3.23 and 14.95% NIM. It depends on the pool's utilization, see the table below:

<figure><img src="/files/IoKzsiCAYEKRbo78zpbM" alt=""><figcaption></figcaption></figure>

### Can an asset be too expensive or too cheap to use in Ajna?

Yes. Think carefully when you get into the 9 digit range; 100m+\
Quote Tokens with very small unit sizes are dangerous as well.\
\
*Limits*\
max auction bid = 50b\
auction starting price is 256x reference price (capped at 50B)

max price bucket is slightly less than 1B (999969141.897...)\
min price bucket is 0.00000009983628289

*Guidelines*\
Be within a factor of 10 with the assets (assume 10x up or down)

### Does Ajna use token governance to make changes to its smart contracts?

No, Ajna is an immutable set of smart contracts that cannot be changed. If a new version of Ajna is deployed, existing liquidity will need to migrate to these new contracts.

### What other networks will Ajna be deployed on?

The protocol is written to work on any EVM (Ethereum Virtual Machine) compatible chain. The first launch will be on the Ethereum Mainnet chain with secondary launches on various L2s and compatible L1s.

### Has Ajna been audited?

The Ajna Protocol code went through 10 audits.\
\
A full breakdown of all the audits can be [found here, on the Ajna Github](https://github.com/ajna-finance/audits/blob/main/README.md).\
\
1\. Sherlock 1st contest (Jan 9, 2023 - Jan 30, 2023)\
2\. Trail Of Bits Audit (Feb 13, 2023 - April 3, 2023)\
3\. Quantstamp Audit (April 24, 2023 - May 3, 2023)\
4\. Prototech Audit (April 26, 2023 - June 5, 2023)\
5\. Code4rena Audit (May 3, 2023 - May 11, 2023)\
6\. Sherlock 2nd contest (June 5, 2023 - June 22, 2023)\
7\. Fixed Point Solutions & Servo Farms (August 7, 2023 - August 31, 2023)\
8\. Kirill (October 6, 2023 - December 21, 2023)\
9\. Certora (October 6, 2023 - December 21, 2023)\
10\. Sherlock 3rd contest (October 13, 2023 - October 27, 2023)

### Does Ajna have a bug bounty?

Ajna will have a bug bounty once redeployed.

### What happens if the code becomes outdated?

The Ajna smart contracts are non-upgradable, so if something causes them to break or work sub-optimally the only remedy is to launch a newer version of Ajna in parallel that contains any needed fixes.&#x20;

### What happens if the front end sites go down?

Even though ajnafi.com does utilize a helper contract, in result you get a regular position, with no gotchas. Meaning it'll work in Etherscan's contracts UI or in theoretical alternative frontend.

Summer.fi contracts are all executable through etherscan too, and their frontend is opensource too for anyone to be able to run it themselves (although it takes some technical understanding and you're own RPC keys etc)

### Does Ajna labs have admin control over the protocol?

No, Ajna Labs has no ability to change or manipulate the smart contracts once they are deployed.

### Why is it a big deal that Ajna’s design excludes price oracles?

Relying on [oracles](https://faqs.ajna.finance/getting-started/glossary#oracle) for pricing data in a DeFi application creates an external point of failure as they can be manipulated or compromised. Ajna uses an internal order book empowering lenders to set asset values. This reduces the attack surface of the protocol and makes lending and borrowing more secure.

### What is the Ajna Foundation?

The Ajna Foundation, formed in mid-2023, is an entity responsible for the stewardship of the Ajna Protocol's brand assets and to pay for designated maintenance and support services.

### Where can I get information about Ajna?

[Analytics](https://Info.ajna.finance/ethereum) | <https://Info.ajna.finance/ethereum> \
[Audits](https://github.com/ajna-finance/audits) | <https://github.com/ajna-finance/audits\\>
[Blog](https://forum.ajna.finance/c/blog) | <https://forum.ajna.finance/c/blog\\>
[Deployment Addresses](https://faqs.ajna.finance/info/deployment-addresses) | <https://faqs.ajna.finance/info/deployment-addresses\\>
[ELI5](https://www.ajna.finance/eli5) | <https://www.ajna.finance/eli5> \
[FAQs](<https://faqs.ajna.finance/ >) | <https://faqs.ajna.finance/> \
[GitHub](<https://github.com/ajna-finance >) | <https://github.com/ajna-finance> \
[Twitter](<https://twitter.com/ajnafi >) | <https://twitter.com/ajnafi> \
[Website](<https://www.ajna.finance >) | <https://www.ajna.finance> \
[Whitepaper](https://www.ajna.finance/whitepaper) | <https://www.ajna.finance/whitepaper&#x20>;

### How can I get involved?

Join our [discord server](https://discord.gg/T9WSMKfMYJ).\
Participate in the [grants program](https://faqs.ajna.finance/faqs/grants).\
Give integrators like [summer.fi](https://summer.fi/) your feedback.


# Pools

[How do I create a pool?](#how-do-i-create-a-pool)\
[What are the technical pool limitations?](#what-are-the-technical-pool-limitations)\
[What assets can be lent and borrowed?](#what-assets-can-be-lent-and-borrowed)\
[What assets are incompatible?](#what-assets-are-incompatible)\
[Does Ajna support rebase tokens?](#does-ajna-support-rebase-tokens)\
[Does Ajna support NFTs which charge a fee on transfer?](#does-ajna-support-nfts-which-charge-a-fee-on-transfer)\
[Why is a subset hash needed to separate between ERC-20 and ERC-721 pools?](#why-is-a-subset-hash-needed-to-separate-between-erc-20-pool-and-erc-721-pool)

### How do I create a pool?

1. Determine the assets you'd like to borrow or lend against.
2. See if the asset pairing you want to engage with already exists in the Ajna Protocol
3. If it doesn't exist, you can create the pool.
4. Enter the token addresses of the two assets.
5. Next, pick which one will be collateral and which one will be the “quote token,” which is the asset that will be lent and borrowed .

   *note: Remember that while Ajna can support NFTs as collateral, quote tokens need to be ERC20.*
6. Finally, select an interest rate between 1-10% that you think will be a good starting point for the pool – don’t worry about getting this wrong, the pool will self-adjust over time to find the correct parameters.
7. Once these steps are complete, you can begin lending or borrowing in this Ajna Pool.

### What are the technical pool limitations?

* Borrowers cannot draw debt from a pool in the same block as when the pool was created.
* With the exception of quantized prices, pool inputs and most accumulators are not explicitly limited. The pool will stop functioning when the bounds of a `uint256` need to be exceeded to process a request.

### What assets can be lent and borrowed?

Ajna enables lending for all ERC-20 tokens and borrowing for ERC-20, ERC-721, and ERC-721 collections or subsets through its pools. Pools are pairs of quote and collateral tokens provided by lenders and borrowers.

### If the collateral token generates rewards in a separate token, would these be accessible or are they considered as burned?

There is typically no way to access the reward, it is considered burned.

If the rewards are attributed to the holder of the token, then they are effectively burned since the holder is the pool itself, not the collateral token depositor.

### What assets are incompatible?

The following types of tokens are incompatible with Ajna, and no countermeasures exist to explicitly prevent creating a pool with such tokens, actors should use them at their own risk:

* NFT and fungible tokens which charge a fee on transfer.
* Fungible tokens whose balance rebases.

The following types of tokens are incompatible with Ajna, and countermeasures exist to explicitly prevent creating a pool with such tokens:

* Fungible tokens with more than 18 decimals or 0 decimals, whose `decimals()` function does not return a constant value, or which do not implement the optional [decimals()](https://eips.ethereum.org/EIPS/eip-20#decimals) function.

### Does Ajna support rebase tokens?

Not natively, but if users wrap their rebase tokens they should work.

### Does Ajna support NFTs which charge a fee on transfer?

Not natively, but if users wrap their rebase tokens they should work.

### Why is a subset hash needed to separate between ERC-20 and ERC-721 pools?

Because Ajna contracts enable NFT collection pools in which any `tokenId` can be used as collateral, as well as nft subset pools in which only the tokenIds specified by the pool creator can be used as collateral. We use the subset hash to track the various pools created and prevent duplicates, while enabling subset and collection types pools to be enabled for the same NFT token address.


# Lending

[How do I lend?](#how-do-i-lend)\
[Where do I lend?](#where-do-i-lend)\
[What can I lend?](#what-can-i-lend)\
[What can I lend against?](#what-can-i-lend-against)\
[What are the fees?](#what-are-the-fees)\
[How do I decide on what price bucket to deposit into?](#how-do-i-decide-what-price-bucket-to-deposit-into)\
[How do I calculate the price buckets for short pools?](#how-do-i-calculate-the-price-buckets-for-short-pools)\
[What do I need to do after depositing quote tokens?](#what-do-i-need-to-do-after-depositing-quote-tokens)\
[How do you calculate the value of an LP token?](#how-do-you-calculate-the-value-of-an-lp-token)\
[Can I update my lending price if my assets are being utilized?](#can-i-update-my-lending-price-if-my-assets-are-being-utilized)\
[What can go wrong?](#what-can-go-wrong)\
[In what scenario(s) can a lender lose their deposit?](#in-what-scenario-s-can-a-lender-lose-their-deposit)\
[In what scenario(s) are lender deposits frozen?](#in-what-scenario-s-are-lender-deposits-frozen)\
[How does a lender get paid if a borrower defaults on their loan?](#how-does-a-lender-get-paid-if-a-borrower-defaults-on-their-loan)\
[Are there any notifications?](#are-there-any-notifications)\
[How much do I earn?](#how-much-do-i-earn)\
[When is my deposit eligible to earn interest?](#when-is-my-deposit-eligible-to-earn-interest)

### How do I lend?

Users can lend on Ajna through any applications that plug into the protocol.

Users choose what valuation they are willing to lend against by depositing tokens into specific price buckets.

### Where do I lend?

* Easy
  * [The Summer.Fi app](https://summer.fi/ajna)
  * [The BuiltbyMom app](https://www.ajnafi.com)
  * Other apps (soon)
* Advanced
  * Use [the SDK](https://www.npmjs.com/package/@ajna-finance/sdk) to build an interface or bots

### What can I lend?

Users can lend any ERC-20 token. \
Users cannot lend ERC-721 NFTs or NFT Collections, or any other NFT types.

The following types of tokens are incompatible with Ajna, and no countermeasures exist to explicitly prevent creating a pool with such tokens, actors should use them at their own risk:

* NFT and fungible tokens which charge a fee on transfer.
* Fungible tokens whose balance rebases.

The following types of tokens are incompatible with Ajna, and countermeasures exist to explicitly prevent creating a pool with such tokens:

* Fungible tokens with more than 18 decimals or 0 decimals, whose `decimals()` function does not return a constant value, or which do not implement the optional [decimals()](https://eips.ethereum.org/EIPS/eip-20#decimals) function.

### What can I lend against?

Users can lend their ERC-20 tokens against any ERC-20, ERC-721, or 721-subsets.<br>

The following types of tokens are incompatible with Ajna, and no countermeasures exist to explicitly prevent creating a pool with such tokens, actors should use them at their own risk:

* NFT and fungible tokens which charge a fee on transfer.
* Fungible tokens whose balance rebases.

The following types of tokens are incompatible with Ajna, and countermeasures exist to explicitly prevent creating a pool with such tokens:

* Fungible tokens with more than 18 decimals or 0 decimals, whose `decimals()` function does not return a constant value, or which do not implement the optional [decimals()](https://eips.ethereum.org/EIPS/eip-20#decimals) function.

### What are the fees?

1. Deposit Fee\
   All deposits incur a small fee equivalent to 8 hours of interest. The fee accrues on any new deposit, and any action which moves quote token down in price. The fee is not applied to actions which move quote token up in price.
2. Transaction Fees\
   These are fees that are charged on blockchain transactions generally, the more complex the transaction, the larger the fee.

### How do I decide what price bucket to deposit into?

Check out this short video tutorial:\
<https://youtu.be/Pu3mnV4NBJc?si=LigZJsf8z1G048Uy>\
\
Deciding on a price depends on the lender's risk tolerance. Both depositing too high and too low have risks.\
\
Depositing too high:

* Creates a need to more closely micromanage the position. Meaning the lender will need to move their deposit lower as the market price approaches their deposit's price bucket.
* Risks getting traded against at an unfavorable price if the market price crosses below the deposit's price bucket. Deposits are always swappable for collateral at the price of their buckets.
* Risks deposit being temporarily frozen, since the highest valued deposits are frozen first during a liquidation. The lender may have their deposit swapped for collateral when this occurs.

Depositing too low:

* May result in the deposit not earning interest if it is below the Pool's Highest Threshold Price (HTP).\ <br>

<figure><img src="/files/LRECCeErOd2xkCGNLyeo" alt=""><figcaption><p>Thank you Summer.fi team for this image!</p></figcaption></figure>

To learn more check out [Summer.fi's dive into this question.](https://docs.summer.fi/protocols/ajna/tutorials-and-guides/how-to-pick-the-right-level-for-lending)

### How do I calculate the price buckets for short pools?

The price buckets should be somewhere below *1 / market-price*. An example would be the USDC/AAVE pool where USDC is collateral in AAVE is the quote token.&#x20;

### What do I need to do after depositing quote tokens?

Occasionally users may want to move their deposits to different price buckets. Monitoring the market price of the collateral token is key to making such decisions.&#x20;

As the collateral price drops, users may want to consider moving their deposit down.&#x20;

As collateral price increases, users may want to consider moving their deposit up.

### How do you calculate the value of an LP token?&#x20;

Theres a method in ‘PoolInfoUtils.sol’  lpToQuoteTokens which will convert the lp tokens into the equivalent amount of quote tokens so you could then use the quote token price multiplied by the number of quote tokens in your LP token.

### Can I update my lending price if my assets are being utilized?

Yes, unless the assets are frozen due to an active liquidation or if moving them results in the LUP moving below the HTP.

### What can go wrong?

* The protocol gets hacked or exploited.
* Your quote tokens are traded against for collateral at an unfavorable price.
* If no one posts a bond and the position sits undercollateralized...
  * As a result of interest, bad debt accrues.
* If no one bids on a liquidation and the collateral is sold for close to 0, bad debt can result.
  * To cover the bad debt, reserves are depleted first and then the lenders from the highest price buckets down.

### In what scenario(s) can a lender lose their deposit?

There are three scenarios when a lender can lose their deposit:&#x20;

1. If the protocol gets hacked or exploited.
2. If a lender allows the market price to cross below their deposit's price bucket someone can trade collateral for their deposit, leaving the lender with collateral instead of quote tokens.
3. If there is bad debt and reserves are insufficient, lenders risk losing part or all of their deposits.

### In what scenario(s) are lender deposits frozen?

1. A lender cannot withdraw deposit if doing so would move the LUP below the HTP, as this would result in liquidation eligibility for one or more loans.
   * A borrower's position can be liquidated if the pool's LUP is below their TP.
   * If a lender wishes to remove deposit from a bucket that will cause the LUP to move below the HTP, they will need to liquidate the loan(s) that sit between the two points.
2. if there are active liquidations in the pool, deposits that are within *liquidation\_debt (amount)* of the top of the book cannot withdraw until the liquidations are complete.

### How does a lender get paid if a borrower defaults on their loan?

If a borrower defaults, their loan will go through the liquidation process where the collateral is sold to cover the debt. The sale occurs through a Dutch Auction and can utilize lender deposits at the top valued price buckets.\
\
Lender deposits at the highest priced buckets are at risk to be traded against, leaving depositors with the options of claiming the collateral and selling it to retrieve their deposit, or to wait for someone to trade quote tokens for the collateral at that price.

### Are there any notifications?

Notifications are not a native feature of the Ajna Protocol. Please check with the application you are using or other 3rd parties for notification services.

### How much do I earn?

How much a lender earns depends on the pool and the [eligibility of the deposit.](https://faqs.ajna.finance/faqs/lending#when-is-my-deposit-eligible-to-earn-interest) \
To look at pools and their lender rates, check out <https://info.ajna.finance/>\
\
Rates are subject to change every 12 hours, in x1.1 or x0.9 increments.

A portion of the interest goes to the pool's reserves and is used to provide a liquidity cushion to lenders, and absorb bad debt if some should occur. This [Net Interest Margin](https://faqs.ajna.finance/faqs/reserve-auctions#what-is-net-interest-margin) (NIM) is approximately  10% of the interest rate revenue. &#x20;

### When is my deposit eligible to earn interest?

All deposits above a pool's HTP earn interest at the same rate. In the event that the HTP is above the LUP, usually during active liquidations, all deposits above LUP earn interest at the same rate.\
\
For more details see section 8 of [the whitepaper](https://www.ajna.finance/whitepaper).


# Borrowing

[How do I borrow?](#how-do-i-borrow)\
[Where do I borrow?](#where-do-i-borrow)\
[What can I borrow?](#what-can-i-borrow)\
[What can I borrow against?](#what-can-i-borrow-against)\
[Can I borrow NFTs?](#can-i-borrow-nfts)\
[What are the fees?](#what-are-the-fees)\
[Is there a minimum or maximum I can borrow?](#is-there-a-minimum-or-maximum-i-can-borrow)\
[How much would I pay in interest?](#how-much-would-i-pay-in-interest)\
[How are interest rates determined?](#how-are-interest-rates-determined)\
[Is there a minimum and maximum interest rate?](#is-there-a-minimum-and-maximum-interest-rate)\
[How long does it take the interest rate to halve or double?](#how-long-does-it-take-the-interest-rate-to-halve-or-double)\
[What is the interest rate reset function?](#what-is-the-interest-rate-reset-function)\
[Can I borrow at a fixed rate?](#can-i-borrow-at-a-fixed-rate)\
[When do I need to pay back the loan?](#when-do-i-need-to-pay-back-the-loan)\
[Why am I being blocked from paying back a partial amount of my loan?](#why-am-i-being-blocked-from-paying-back-a-partial-amount-of-my-loan)\
[Can I repay my loan early, and if so, are there any penalties?](#can-i-repay-my-loan-early-and-if-so-are-there-any-penalties)\
[What can go wrong?](#what-can-go-wrong)\
[What happens if the collateral value drops below the debt amount?](#what-happens-if-the-collateral-value-drops-below-the-debt-amount)\
[What happens if my loan gets liquidated?](#what-happens-if-my-loan-gets-liquidated)\
[Can I save my loan after liquidation starts?](#can-i-save-my-loan-after-liquidation-starts)\
[What is the penalty for getting liquidated?](#what-is-the-penalty-for-getting-liquidated)\
[How do I know my loan's liquidation price?](#how-do-i-know-my-loans-liquidation-price)\
[How is the liquidation price set?](#how-is-the-liquidation-price-set)\
[How does Ajna determine if my loan is insufficiently collateralized or will be liquidated?](#how-does-ajna-determine-if-my-loan-is-insufficiently-collateralized-or-will-be-liquidated)\
[In NFT-collection pools, can a borrower use multiple NFTs in a single position?](#in-nft-collection-pools-can-a-borrower-use-multiple-nfts-in-a-single-position)

### How do I borrow?

Borrowers deposit collateral tokens into pools and may borrow quote tokens. A liquidation price will be set depending on how much is borrowed relative to the value of the collateral.

### Where do I borrow?

* Easy
  * The Summer.Fi app (soon)
  * Static Open Source Frontend (soon)
  * Other apps with Ajna integrated (soon)
* Advanced
  * Use the SDK to build an interface or bots (soon)
  * Ether.js or Web3.py (interacts with Ethereum) & connect to your own node (soon)

### What can I borrow?

Users can borrow any ERC-20 token.

### What can I borrow against?

Users can use any ERC-20 token, ERC-721 NFTs, or 721-subset as collateral. If a pool doesn't exist for a token, one can be created. The only other limitation is finding someone to lend Quote Tokens.

The following types of tokens are incompatible with Ajna, and no countermeasures exist to explicitly prevent creating a pool with such tokens, actors should use them at their own risk:

* NFT and fungible tokens which charge a fee on transfer.
* Fungible tokens whose balance rebases.

The following types of tokens are incompatible with Ajna, and countermeasures exist to explicitly prevent creating a pool with such tokens:

* Fungible tokens with more than 18 decimals or 0 decimals, whose `decimals()` function does not return a constant value, or which do not implement the optional [decimals()](https://eips.ethereum.org/EIPS/eip-20#decimals) function.

### Can I borrow NFTs?

No.

### What are the fees?

1. Origination Fee\
   This fee is charged to all debt and is the greater of one week of interest or 0.05%.
2. Variable Interest Rate \
   This is the APR being paid on the borrower’s debt, which is subject to change every 12 hours.
3. Liquidation Take Penalty (AKA the [Borrower Take Penalty](https://faqs.ajna.finance/getting-started/glossary#borrower-take-penalty))\
   This fee is maximum 4.5%, and is applied once the first sale of collateral occurs and is variable depending on the collateral price settled at the auction as well as the liquidator's Bond Factor.
4. Transaction Fees\
   These are fees that are charged on blockchain transactions generally, the more complex the transaction, the larger the fee.\
   \
   For specifics, see the [whitepaper](https://www.ajna.finance/whitepaper).

### Is there a minimum or maximum I can borrow?

Yes. The minimum borrow size is 10% of the pool’s average loan’s debt. A minimum is set only after 10 borrow positions are created in a given pool.\
\
The maximum borrow size depends the pool's available lender liquidity.

### How much would I pay in interest?

Each pool has its own interest rate that should be displayed in the pool information. The interest rate is subject to change every 12 hours.

### How are interest rates determined?

Interest rates are determined by pool utilization. If there is a surplus of lender liquidity, rates are lowered, and if there is a shortage of lender liquidity, rates are increased. Rates can change once every 12 hours and occur in +- 10% increments. If the rate is rising, the previous rate is multiplied by 1.1; if the rate is decreasing, the previous rate is multiplied by 0.9\
\
For a specific overview of the interest rate algorithm, see section 8 of the [whitepaper](https://www.ajna.finance/whitepaper).

### Is there a minimum and maximum interest rate?

Yes, so cannot go below 0.001% or above 400%.

### How long does it take the interest rate to halve or double?

\~3.5 days assuming consistent interest rate updates every 12 hours.

### What is the interest rate reset function?

It is a special function that resets the pool's interest rate under certain conditions.\
\
If the pool rate becomes too high for a protracted period, all debt could eventually exit the pool. This would result in low utilization,so eventually the pool would move back to an equilibrium interest rate, but it could take a long period of time.To return the pool to a reasonable range of market interest rates quickly, there is an interest rate reset mechanism: if the debtEMA is less than 5% of the meaningfuldepositEMA and the interest rate exceeds 10%, then the rate will immediately be reset to 10%.

### Can I borrow at a fixed rate?

Yes, but the rate is only fixed for 12 hours at a time, starting from the time of the last rate update. Rates may change once every 12 hours if conditions are met.

### When do I need to pay back the loan?

Ajna loans can be paid back at any time.

### Why am I being blocked from paying back a partial amount of my loan?

Ajna has a minimum borrow amount for loans, this means users might be unable to pay back a partial amount of their debt if it would push their balance below this minimum. \
\
If this happens, try paying back less or the entire amount.

### Can I repay my loan early, and if so, are there any penalties?

Loans can be repaid at any time, there is no early repayment penalty.

### What can go wrong?

* The protocol gets hacked or exploited.
* Your loan gets liquidated.
* Your loan gets liquidated unfairly, leaving you with claimable collateral. If this happens the liquidator loses money on the bond they had to post in order to send your loan to liquidation.

### What happens if the collateral value drops below the debt amount?

If the value of the collateral, as measured by the external market price, drops below the loan's Threshold Price (debt/collateral), then before that point the system would have liquidated the loan. Once the market price crosses below a loan's Neutral Price it becomes profitable to liquidate the position. The Neutral Price is always set above the Threshold Price of a given loan.

### What happens if my loan gets liquidated?

When a loan is liquidated it will proceed to an auction where a liquidation penalty is applied to each sale of collateral. When the liquidation is complete the borrower is no longer responsible for paying back their debt balance since the system sold their collateral and to cover the balance. In some cases there may be collateral left over that the user can claim.

### Can I save my loan after liquidation starts?

No. Once a loan has been liquidated, the loan cannot be returned from liquidation

### What is the penalty for getting liquidated?

The Liquidation Penalty, also known as the Borrower Take Penalty is applied to debt when collateral is taken during a liquidation auction.

<figure><img src="/files/cP2ttWZatskIh7OIrmp6" alt=""><figcaption></figcaption></figure>

### How do I know my loan's liquidation price?

The liquidation price is something that should be displayed by the interface you use to manage the loan. A borrower has full control of their liquidation price. A liquidation price is set when a loan is created and can move with changes in debt or collateral amounts. Under normal circumstance the liquidation price moves slightly over time as interest accrues to a borrower's debt.

### How is the liquidation price set?

In Ajna the [Neutral Price (NP)](https://faqs.ajna.finance/getting-started/glossary#neutral-price-np) acts as the liquidation price.

When a loan is initiated or modified (the first debt, additional debt drawn, or collateral is removed from the loan), the neutral price is set to

&#x20;                            ![](/files/Sn20wLC6J7o0MyWHfvMJ)\
\
where r is the current borrower rate of the pool. As time passes, the neutral price increases at the same rate as interest.\
\
Read more in section 7.3.1 of the [whitepaper.](https://www.ajna.finance/whitepaper)

### How does Ajna determine if my loan is insufficiently collateralized or will be liquidated?

To determine whether a loan is insufficiently collateralized there are three important variables being used; the loan’s [Threshold Price (TP)](https://faqs.ajna.finance/getting-started/glossary#threshold-price-tp), the loan’s [Neutral Price(NP)](https://faqs.ajna.finance/getting-started/glossary#neutral-price-np) and the pool’s [Lowest Utilized Price (LUP)](https://faqs.ajna.finance/getting-started/glossary#lowest-utilized-price-lup). \
\
TP is set by the borrower and is a loan’s debt multiplied by 4%, divided by the collateral. A pool’s LUP is defined as the lowest collateral price bucket against which someone is actively borrowing. If the borrower’s TP crosses above the LUP, then their position is **eligible for liquidation**. The NP of a loan is set at origination and acts as the liquidation price of the loan. Meaning that a loan must be both **eligible and out of position with respect to the NP for it to be profitably liquidated**. A loan is liquidatable when the market price of the collateral crosses below the NP.\
\
If **TP is above LUP**, you are **eligible** for **liquidation**, but realistically the **market price** of collateral needs to be **below liquidation price (Neutral Price)** for **KICKER** to be **financially motivated to send Borrower to liquidation.**

### In NFT-collection pools, can a borrower use multiple NFTs in a single position?

Yes.


# Liquidations

[What is a liquidation?](#what-is-a-liquidation)\
[Where can I access a UI for liquidations?](#where-can-i-access-a-ui-for-liquidations)\
[When does a liquidation happen?](#when-does-a-liquidation-happen)\
[What is the liquidation trigger price?](#what-is-the-liquidation-trigger-price)\
[Who triggers liquidations?](#who-triggers-liquidations)\
[What is required to trigger a liquidation?](#what-is-required-to-trigger-a-liquidation)\
[Where can I trigger liquidations?](#where-can-i-trigger-liquidations)\
[What is a liquidation bond?](#what-is-a-liquidation-bond)\
[Why is a liquidation bond needed?](#why-is-a-liquidation-bond-needed)\
[How much does the liquidation bond cost?](#how-much-does-the-liquidation-bond-cost)\
[How is a loan's liquidation price set?](#how-is-a-loans-liquidation-price-set)\
[How do I participate in liquidation auctions?](#how-do-i-participate-in-liquidation-auctions)\
[How does a liquidation auction work?](#how-does-a-liquidation-auction-work)\
[What if a liquidation auction clears below a loan's Threshold Price?](#what-if-a-liquidation-auction-clears-below-a-loans-threshold-price)\
[In NFT-collection pools, do liquidation auctions happen per single NFT?](#in-nft-collection-pools-do-liquidation-auctions-happen-per-single-nft)\
[In NFT-collection pools, how do group liquidations work?](#in-nft-collection-pools-how-do-group-liquidations-work)<br>

### What is a liquidation?

Liquidation is a process of selling off assets to pay off debts.\
\
In the context of loans, a liquidation occurs when collateral that was used to secure a loan is sold; proceeds from the sale of the collateral are used to repay the debt. \
\
Liquidation is a last resort for when a borrower is unable to repay a loan. Liquidations often include penalties. It is important for borrowers to understand the potential consequences of defaulting on a loan before they take out the loan.

### Where can I access a UI for liquidations?

1. Go to <https://ajnafi.com/>
2. Click `Pool Details`\
   ![](/files/NdT4oIAwQ6nATH8XLEff)
3. Click `Manage Pool`

<figure><img src="/files/PRdd2w7da6dlKAv5qfoM" alt=""><figcaption></figcaption></figure>

4. Navigate and interact withh loans available to be liquidated.<br>

   <figure><img src="/files/jIxHAD6s5AJQfVcNFJtL" alt=""><figcaption></figcaption></figure>

### When does a liquidation happen?

A liquidation happens when the borrower fails to keep their loan in good standing.\
\
To determine whether a loan can be appropriately liquidated there are three important variables used by the system; the loan’s [*Threshold Price (TP)*](https://faqs.ajna.finance/getting-started/glossary#threshold-price-tp), the loan’s [*Neutral Price(NP)*](https://faqs.ajna.finance/getting-started/glossary#lowest-utilized-price-lup) and the pool’s [*Lowest Utilized Price (LUP)*](https://faqs.ajna.finance/getting-started/glossary#lowest-utilized-price-lup). \
\
TP is set by the borrower and is a loan’s debt x 1.04 divided by the collateral. \
NP is set at origination and when a loan is modified with respect to its debt or collateral and is usually some number above the TP. The NP acts as the effective liquidation price of the loan.\
LUP moves freely and is defined as the lowest collateral price bucket against which someone is actively borrowing.\
\
If a loan's TP crosses above the pool's LUP, then their position is eligible for liquidation. This is referred to as the *liquidation trigger price*. A loan may be profitable to liquidate, with regard to the [liquidation bond](https://faqs.ajna.finance/faqs/liquidations#what-is-a-liquidation-bond), when the price of the collateral crosses below the NP of a given loan.

### What is the liquidation trigger price?

The liquidation trigger price is the price at which a loan can be triggered for liquidation, though it may not necessarily be profitable to do so. When a loan's [*Threshold Price (TP)*](https://faqs.ajna.finance/getting-started/glossary#threshold-price-tp) crosses above the pool's [Lowest Utilized Price (LUP)](https://faqs.ajna.finance/getting-started/glossary#lowest-utilized-price-lup), their position is eligible for liquidation.\
\
It is profitable, through the liquidation bond mechanism, to liquidate a position when the price of its collateral crosses below the [Neutral Price(NP)](https://faqs.ajna.finance/getting-started/glossary#neutral-price-np).

### Who triggers liquidations?

Anyone can trigger a liquidation by posting a [liquidation bond](https://faqs.ajna.finance/faqs/liquidations#what-is-a-liquidation-bond) for the loan in question.

### What is required to trigger a liquidation?

The purchase of a [liquidation bond](https://faqs.ajna.finance/faqs/liquidations#what-is-a-liquidation-bond) is required to trigger liquidations.

### Where can I trigger liquidations?

1. Go to <https://ajnafi.com/>
2. Click `Pool Details`\
   ![](/files/cseRmAtDrallc2UDLtmV)
3. Click `Manage Pool`<br>

   <figure><img src="/files/fqzR60ihZpxwlPBHlnBv" alt=""><figcaption></figcaption></figure>
4. Navigate and interact with loans available to be liquidated.<br>

   <figure><img src="/files/FdNji3JabUxdANdJdYHB" alt=""><figcaption></figcaption></figure>

### What is a liquidation bond?

A liquidation bond is effectively a bet on the outcome of a collateral sale. In the Ajna protocol, the purchase of a liquidation bond is required to liquidate a loan.

### Why is a liquidation bond needed?

This requirement creates a disincentive to liquidate loans that are sufficiently collateralized with respect to the collateral's market price and creates an incentive to liquidate loans that become under-collateralized with respect to their Neutral Prices.

### How much does the liquidation bond cost?

A bond is priced as a percentage of the debt that is being liquidated. It can range from 1% to 3%.\
\
Bond Factor = min{3%, TP/NP Ratio - 1 / 10}\
\
See section *7.3.2 Sizing the Bond* in the [whitepaper](https://www.ajna.finance/whitepaper) for full detail.

### When should a liquidation bond be posted?

It is profitable to post a liquidation bond when the sale of collateral is expected to clear below the neutral price of the liquidated loan.\
\
Consider the examples below:\
\
Bob sees Dave's loan is eligible for liquidation. The price of ETH is $1800, while the NP of the loan is $1830. Bob expects the collateral to be sold under $1830, accounting for the time the auction takes, and decides to post the bond and trigger the liquidation of the loan to earn a reward.\
\
Bob sees Dave's loan is eligible for liquidation. The price of ETH is $1850, while the NP of the loan is $1830. Bob expects the collateral to be sold above $1830 and decides not to start the liquidation despite its eligibility.

### How is a loan's liquidation price set?

In Ajna the [Neutral Price (NP)](https://faqs.ajna.finance/getting-started/glossary#neutral-price-np) acts as the liquidation price.

When a loan is initiated or modified (the first debt, additional debt drawn, or collateral is removed from the loan), the neutral price is set to `np = (debt/coll) * 1.04 * (1 + sqrt(2)/2)` or

&#x20;                        ![](/files/ZXpjRWaprqbTgetghxGP)             \
\
where r is the current borrower rate of the pool. As time passes, the neutral price increases at the same rate as interest.\
\
Read more in section 7.3.1 of the [whitepaper.](https://www.ajna.finance/whitepaper)

### How do I participate in liquidation auctions?

There are two ways to participate. \
\
The first, as a loan "kicker". This actor posts liquidation bonds and kicks loans into liquidation. \
The second, as an auction bidder. This actor bids on collateral during liquidation auctions.\
\
Beginners could use the Ajna application to access this functionality while advanced actors can develop their own UIs or automations.

### How does a liquidation auction work?

Liquidation auctions are in dutch auction format where at the start of the auction the price per unit of collateral is very high and gradually becomes lower over time. In Ajna, liquidation auctions span a maximum of 72 hours. The collateral price starts at 256 times the [auction reference price](https://faqs.ajna.finance/getting-started/glossary#auction-reference-price) and exponentially decays towards 0 starting with 6 twenty minute halvings, followed by 6 two hour halvings, followed by hour halvings till the end of the 72 hour auction. Bidders may either use quote token or deposit in the pool to participate.

If a deposit is used to participate in the auction, that deposit is canceled and removed from the bucket. If there is collateral remaining in an auction after 72 hours have passed, any actor may settle the auction and claim the remaining collateral.\
\
For more details check out section 7.4 in the [Whitepaper](https://www.ajna.finance/whitepaper).

### What if a liquidation auction clears below a loan's Threshold Price?

If a liquidation fails to sell collateral at or above the threshold price, then the loan's left over debt gets deducted from the pool's [reserves](https://faqs.ajna.finance/faqs/reserve-auctions#what-are-reserves). If that is insufficient, then the debt is deducted from the quote token liquidity in the highest price buckets, diluting LPB holders in those buckets.

### In NFT-collection pools, do liquidation auctions happen per single NFT?

If a borrower’s position is backed by multiple NFTs, they will all go to auction simultaneously. If the position is backed by a single NFT, then only that NFT will go to auction.

### In NFT-collection pools, how do group liquidations work?

Similar to regular liquidations, once an auction is initiated the entire lot of collateral is available for purchase. Bidder have the option to place a bid on the entire lot or on a specific NFT during a group liquidation. If a bidder does not specify an NFT for their partial bid, a random one is selected (We haven't documented order in which they are taken.)

For `take`, taker provides an integer number of NFTs in `maxAmount_` argument. `bucketTake` can result in fragmenting NFTs in buckets.\ <br>


# Reserve Auctions

[What are reserves?](#what-are-reserves)\
[What are claimable reserves?](#what-are-claimable-reserves)\
[What is Net Interest Margin?](#what-is-net-interest-margin)\
[What is a reserve auction?](#what-is-a-reserve-auction)\
[When do reserve auctions occur?](#when-do-reserve-auctions-occur)\
[Who triggers reserve auctions, is there an incentive?](#who-triggers-reserve-auctions-is-there-an-incentive)\
[How do I participate in a reserve auction?](#how-do-i-participate-in-a-reserve-auction)

### What are reserves?

Reserves are a balance of funds that are collected from [Origination Fees](https://faqs.ajna.finance/getting-started/glossary#origination-fee), [Net Interest Margin](https://faqs.ajna.finance/getting-started/glossary#net-interest-margin-nim) and Penalties. Each pool has a reserve, denominated in the pool's quote token.  Reserves act as backup funds for covering bad debt and are also used for buying and burning AJNA tokens through reserve auctions.

### What are claimable reserves?

Claimable reserves are a portion of a pool's reserves that are eligible to be claimed through a reserve auction. For a comprehensive breakdown see section 9.1 in the [whitepaper](https://www.ajna.finance/whitepaper).<br>

<figure><img src="/files/FJChA43AfsV4pLqhIGxx" alt=""><figcaption><p>Formula to calculate a pool's claimable reserves</p></figcaption></figure>

### What is Net Interest Margin?

Net Interest Margin(NIM) is a portion of the interest revenue that goes to the pool's reserves and is used to provide a liquidity cushion to lenders and absorb bad debt if some should occur. The NIM is approximately 10% of the interest rate revenue. &#x20;

### What is a reserve auction?

A reserve auction is a sale of claimable reserves for AJNA tokens through a dutch auction. The bidder receives quote tokens, while the protocol receives and burns the AJNA.

### When do reserve auctions occur?

Reserve auctions occur when enough claimable reserves accumulate such that the person triggering the reserve auction makes more money than the transaction costs. Reserve auctions can occur at a maximum of once every two weeks per pool.

### Who triggers reserve auctions, is there an incentive?

Anyone can trigger a reserve auction and the incentive is to purchase the reserves at a discount to market, making a profit on the spread.

### How do I participate in a reserve auction?

Through your interface of choice.


# AJNA Token

[What are AJNA tokens and what are they used for?](#what-are-ajna-tokens-and-what-are-they-used-for)\
[What is the total supply of AJNA tokens?](#what-is-the-total-supply-of-ajna-tokens)\
[Can new tokens be minted?](#can-new-tokens-be-minted)\
[Where can I learn about the token distribution?](#where-can-i-learn-about-the-token-distribution)\
[How can I get AJNA tokens?](#how-can-i-get-ajna-tokens)\
[What is burn wrapped AJNA, bwAJNA?](#what-is-burn-wrapped-ajna-bwajna)\
[How do I burn wrap AJNA to get bwAJNA?](#how-do-i-burn-wrap-ajna-to-get-bwajna)\
[Which bridge do I use to send my bwAJNA to another network?](#which-bridge-do-i-use-to-send-my-bwajna-to-another-network)\
[Can I transfer bwAJNA tokens from one network to another?](#can-i-transfer-bwajna-tokens-from-one-network-to-another)\
[Can I use a different bridge to bring bwAJNA to a network?](#can-i-use-a-different-bridge-to-bring-bwajna-to-a-network)\
[Does each network have its own bwAJNA?](#does-each-network-have-its-own-bwajna)

### What are AJNA tokens and what are they used for?

AJNA tokens are the Ajna Protocol's native token. They are used for voting in the grants program, enabling voters to delegate to themselves and earn additional AJNA. Additionally, they are bought and burned by the protocol with excess profits.

### What is the total supply of AJNA tokens?

1,000,000,000 tokens at protocol launch.

### Can new tokens be minted?

No.

### Where can I learn about the token distribution?

<https://mirror.xyz/0xc1112dbbcA87aAE49CAfe4F3aE065E1B0dDd5bbB/J5M0GWA581YTzUdf7vHntf-N1IvLOTrKwgVi5e0DYys>

### How can I get AJNA tokens?

1. Buy them on the open market (once token is launched and distributed).
2. Earn them by participating as a delegate.
3. Earn them through usage-rewards offered by third parties.
4. If you have something you could do that would contribute to protocol success, [propose a grant](https://forum.ajna.finance/).

### What is burn wrapped AJNA, bwAJNA?

Burn-wrapped tokens are created when tokens from one chain are pre-burned, wrapped, and then transferred to another chain. They are a key component of the Ajna Protocol's multichain deployment design. Their purpose is to enable users to participate in =reserve pool auctions on other networks, to tie the value of Ajna deployments together, to defend against bridge hacks, and to ensure a high integrity for the token supply.\
\
In practice, the tokens act as a one-way path for AJNA tokens since they cannot be unburned or unwrapped. bwAJNA cannot be "unwrapped" to AJNA tokens on Ethereum. Ajna's original 1,000,000,000 token supply is located on Ethereum's mainnet network. All bwAJNA tokens come from this source. The only difference between the immutable AJNA protocol contract deployed on Ethereum vs the deployment on Polygon or any other network is the “address” of the AJNA token that can be used in reserve pool auctions.\
\
Here's how it works; Imagine a Polygon deployment of the Ajna protocol and there is a MATIC/DAI pool where the reserves of the pool have accumulated DAI tokens. To activate the reserve pool auction, one would need bwAJNA tokens to be able to buy the DAI.

To bridge the tokens one would first need to:\
\
\- obtain AJNA on Ethereum\
\- [mint bwAJNA on Ethereum](#how-do-i-burn-wrap-ajna-to-get-bwajna)\
\- [bridge bwAJNA](#which-bridge-do-i-use-to-send-my-bwajna-to-another-network) using polygon bridge\
\- use bwAJNA on the polygon side to start reserve pool auctions\
\
The bwAJNA tokens that are exchanged will be burned by the AJNA protocol on Polygon.

### How do I burn wrap AJNA to get bwAJNA?

Do so by going to [ajnafi.com](https://www.ajnafi.com), make sure you're on Ethereum mainnet, then navigate to any pool's "manage pool" section, then go to the "reserves" tab, then interact with the "Wrap AJNA for L2s" widget on the bottom left.

<figure><img src="https://lh7-us.googleusercontent.com/kFlR7WtT1lC6xgYFYO7LlNFjqhI8tQ9VS7m4hc3VTyCLA_crNz-G1RixA9meMoPKCse1TLmGJfU2ajKYXigLUNUZlgR3BtUsYBMvzgM-tNLw_mm5FXo-itINmZ4BhThlPQoHu0DUoTHOsKx0oKY1L3Q" alt=""><figcaption></figcaption></figure>

### Which bridge do I use to send my bwAJNA to another network?

If bridging bwAJNA to a network that already has bwAJNA on it, one must use the same bridge that was originally used. To find a list of canonical bridges for various Ajna deployments, look in our deployment addresses & bridges section.\
\
If bridging bwAJNA for the first time, as part of the process for deploying an Ajna Protocol instance, then be careful to [choose a bridge](https://l2beat.com/bridges/summary) that has the greatest probability of lasting for the long term.

### Can I transfer bwAJNA tokens from one network to another?

No. In doing so, the user would create an unofficial wrapped-bwAJNA token on the destination chain. All bwAJNA must originate from Ethereum L1 and then go through the original bridge it was transferred through from Ethereum to the specified network.

### Can I use a different bridge to bring bwAJNA to a network?

No you must use the original bridge that initially brought the bwAJNA to the network otherwise it will be a new token and not fungible with the first version of bwAJNA on the network.

### Does each network have its own bwAJNA?

Yes. There's only a single version of bwAjna on mainnet, but when bridged for the first time to a new chain, a new variant of bwAjna will be created.

<br>


# Grants

[What is the Ajna grants program?](#what-is-the-ajna-grants-program)\
[What is a grant proposal?](#what-is-a-grant-proposal)\
[What types of grants will Ajna fund?](#what-types-of-grants-will-ajna-fund)\
[Where can I view grant proposals?](#where-can-i-view-grant-proposals)\
[How are grants selected?](#how-are-grant-proposals-selected)\
[How do I submit a proposal?](#how-do-i-submit-a-proposal)\
[How do I vote on a proposal?](#how-do-i-vote-on-a-proposal)\
[How much AJNA is granted every cycle?](#how-much-ajna-is-granted-every-cycle)\
[How many grants can be funded per cycle?](#how-many-grants-can-be-funded-per-cycle)\
[Can less than 10 proposals be selected?](#can-less-than-10-proposals-be-selected)\
[Can a grantee return AJNA tokens to the protocol?](#can-a-grantee-return-ajna-tokens-to-the-protocol)\
[My proposal was approved, how do I claim the grant?](#my-proposal-was-approved-how-do-i-claim-the-grant)

### What is the Ajna grants program?

The grant program for the Ajna Protocol provides funding for growth and development opportunities proposed by independent contractors and teams. Funding may be provided for an array of software development and growth related proposals. Applications are reviewed and voted on by AJNA tokenholders and professional delegates. Funds are granted programmatically based on the results of on-chain votes.

### What is a grant proposal?

A Grant Proposal is submitted to an organization as an explicit request to fund an individual or team to execute on a body of work. Proposals get published, refined, and are then submitted for voting.

### **What types of grants will Ajna fund?**

For specific needs see the [Request for Proposal section](https://forum.ajna.finance/c/rfp/5) of the Ajna forum.\
Generally, the following categories are of interest:

1. Development: This category can include software development projects that aim to maintain, support, improve, or enhance the products or applications built on top of the Ajna Protocol.
2. Community: This category can include projects related to building and engaging communities around the Ajna Protocol, such as marketing, education, and events, that aim to increase awareness and adoption of the protocol.
3. Research: This category can include projects focused on research and development related to the Ajna Protocol, such as behavior and use case analysis, new product research, performance analysis, and others that aim to identify or enhance the protocol's capabilities.
4. Integration: This category can include projects related to integrating the Ajna Protocol with other technologies or platforms that aim to increase the protocol's reach and utility.
5. Other: This category can be used to capture any projects that do not fit neatly into the other categories but still align with the key goal of the program which is to increase Ajna's likelihood of success.

### Where can I view grant proposals?

<https://forum.ajna.finance/c/grant-proposals>

### **How are grants selected?**

When assessing applications, the criteria below should be considered to guide decision making;\
\
**Relevance** \
All funded projects should be applicable to Ajna.

**Benefit** \
The goal of this program is to increase the protocol's probability for success.

* Does this project benefit Ajna and its users?
* Will there be a real positive impact?&#x20;

**Feasibility** \
Ideas and discussions are great, but only realistic projects with tangible results should be funded.

* Can the project really be accomplished? ‍
* Are the objectives and success case realistic?&#x20;

**Execution** \
Applicants should provide a clear execution plan for completing the project and reaching the goals.

* Is there a clear plan?
* Will grantees report progress?&#x20;

**Qualification** \
Applicants should provide background or credentials to prove their capabilities.

* Is the individual or team qualified to complete the project? &#x20;

**Cost** \
There is a sweet spot to attract high quality contributors with competitive funding without overspending.&#x20;

* Is the funding amount within reasonable means?
* Does it align with industry standards?

### How do I submit a proposal?

To submit a proposals post the details on <https://forum.ajna.finance/c/grant-proposals> and submit the actual grant request on <https://grants.ajnafi.com/overview> during the [screening stage](/getting-started/glossary#screening-stage) of a grant cycle.

### How do I vote on a proposal?

To vote on proposals visit <https://grants.ajnafi.com/overview>, delegate to an address you own, then vote. Another option is to delegate your votes to an address that will participate on your behalf.

### How much AJNA is granted every cycle?

3% of the treasury is the maximum AJNA granted per cycle. \
The treasury began with about 23% of the total token supply, a total of 236,298,042.52 AJNA.&#x20;

### How many grants can be funded per cycle?

A maximum of 10 grants can be funded every cycle.

### Can less than 10 proposals be selected?

Yes

### Can a grantee return AJNA tokens to the protocol?

Yes, they can send back tokens directly to the treasury by calling `fundTreasury()` in a transaction to the contract address, `0x...`\
\
***BEWARE*** tokens cannot be sent to the contract address with a standard `transferFrom()` call.

### My proposal was approved, how do I claim the grant?

Grants can be [claimed here](https://grants.ajnafi.com/execute), or by doing a manual transaction calling `fundTreasury()` on the treasury contract

<br>


# Voting

[What gets voted on at Ajna?](#what-gets-voted-on-at-ajna)\
[How does the voting system work?](#how-does-the-voting-system-work)\
[How do I vote on a proposal?](#how-do-i-vote-on-a-proposal)\
[What is the screening stage?](#what-is-the-screening-stage)\
[What is the funding stage?](#what-is-the-funding-stage)\
[What proposals are voted on in the funding stage?](#what-proposals-are-voted-on-in-the-funding-stage)\
[What is the challenge stage?](#what-is-the-challenge-stage)\
[If an optimal slate is not submitted during the challenge stage, what happens?](#if-an-optimal-slate-is-not-submitted-during-the-challenge-stage-what-happens)\
[How are votes counted?](#how-are-votes-counted)\
[Is there a minimum vote requirement for a proposal to receive funding?](#is-there-a-minimum-vote-requirement-for-a-proposal-to-receive-funding)\
[Who is eligible to participate in the voting process?](#who-is-eligible-to-participate-in-the-voting-process)\
[Why should I vote?](#why-should-i-vote)\
[What is a delegate?](#what-is-a-delegate)\
[How do I delegate my voting power?](#how-do-i-delegate-my-voting-power)\
[How do I undelegate my voting power?](#how-do-i-undelegate-my-voting-power)\
[Why should I delegate?](#why-should-i-delegate)\
[Can I delegate to myself?](#can-i-delegate-to-myself)\
[Can I delegate to multiple parties?](#can-i-delegate-to-multiple-parties)\
[Can I earn rewards for delegating?](#can-i-earn-rewards-for-delegating)\
[How much do delegates earn?](#how-much-do-delegates-earn)\
[Can I earn rewards for voting?](#can-i-earn-rewards-for-voting)\
[Can I cancel or modify my vote?](#can-i-cancel-or-modify-my-vote)\
[What is Quadratic Voting?](#what-is-quadratic-voting)\
[Why is Quadratic Voting only used in the Funding Stage?](#why-is-quadratic-voting-only-used-in-the-funding-stage)\
[How often are votes held?](#how-often-are-votes-held)\
[How long do participants have to cast their votes in the screening stage?](#how-long-do-participants-have-to-cast-their-votes-in-the-screening-stage)\
[How long do participants have to cast their votes in the funding stage?](#how-long-do-participants-have-to-cast-their-votes-in-the-funding-stage)\
[Can I change my vote after it’s been cast?](#can-i-change-my-vote-after-its-been-cast)\
[Can participants propose changes to the voting system?](#can-participants-propose-changes-to-the-voting-system)\
[Are there any incentives for participating?](#are-there-any-incentives-for-participating)\
[What happens if a proposal is passed but is not technically feasible?](#what-happens-if-a-proposal-is-passed-but-is-not-technically-feasible)\
[Can the voting system be used to amend the protocol's smart contracts?](#can-the-voting-system-be-used-to-amend-the-protocols-smart-contracts)\
[Can a proposal be resubmitted?](#can-a-proposal-be-resubmitted)

### What gets voted on at Ajna?

Grant applications. That's it.

### How does the voting system work?

Ajna's voting system has three stages.\
The first is a screening stage which runs for 73 days and counts 1 token = 1 vote.\
The second is a funding stage which runs for 10 days and uses a quadratic system for votes.\
The third is a challenge stage which runs for 7 days and allows anyone to propose alternative payout configurations that might be more optimal.

<figure><img src="/files/MW8fyFquVnlqoH8j0m2E" alt=""><figcaption><p>Voting Cycle Stages</p></figcaption></figure>

For more detail review sections 9.2.1 in the whitepaper.

### How do I vote on a proposal?

To vote on proposals visit [https://grants.ajnafi.com](https://grants.ajnafi.com/overview),[ ](https://grants.ajnafi.com/)delegate to an address yourself, then vote. Another option is to delegate your votes to an address that will participate on your behalf.

### What is the screening stage?

The screening stage is for voters to filter out the proposals they are not interested in funding. The Screening stage runs for 73 days and counts 1 token = 1 vote. An uncapped number of proposals can be submitted, but only the top 10 move on.

### What is the funding stage?

The funding stage is the second stage of the voting cycle which runs for 10 days and uses a quadratic system for votes. The top 10 proposals from the screening stage advance to the funding stage where they may receive both positive and negative votes in a quadratic manner; Meaning the number of voting credits they have increases with the number of proposals they vote on (see image below).

<figure><img src="/files/nK7IB6VtuPGb8OxyWujH" alt=""><figcaption></figcaption></figure>

### What proposals are voted on in the funding stage?

Only the top 10 proposals from the screening stage can be voted on in the funding stage.

### What is the challenge stage?

After the Funding Stage concludes, there is a one-week challenge stage where alternative sets of winning proposals can be submitted. During this time, the optimal batch of proposals is selected by considered factors such as budget constraint and votes received. If a new batch is submitted that is just as optimal as the current one, than the current one stays in place. If a non-optimal configuration is submitted, anyone can challenge it with the optimal configuration.

### If an optimal slate is not submitted during the challenge stage, what happens?

If no slate is submitted than no proposals can be executed and the tokens would be returned to the treasury.

### How are votes counted?

Screening stage: Voting power is based upon a snapshot of an address' voting power 33 blocks prior to the screening stage’s start block, where one token is equal to one vote. \
\
Funding stage: Voting power is based upon a snapshot of an address' voting power 33 blocks prior to the funding stage's starting block, and uses a quadratic system.\
\
Challenge stage: There is no voting during the challenge stage. Rather, anyone can submit an alternative optimal set of results from the funding stage.\
\
There are no quorums.\
\
*Note that the Ajna tokens need to be available/delegated for the entire 33 block snapshot before in order to be eligible. Being present for one block then moving the tokens out wouldn’t include moved tokens in voting power calculations.*

### Is there a minimum vote requirement for a proposal to receive funding?

Proposals with 0 or negative votes in the funding stage will not be eligible for funding.

### Who is eligible to participate in the voting process?

One must either have AJNA tokens or be delegated AJNA tokens to vote.

### Why should I vote?

The two reasons an AJNA holder votes are to influence grant funding decisions and to earn rewards.

### What is a delegate?

A delegate is an individual or group, identified by an Ethereum address, who represents themselves and other AJNA holders in grants voting.

### How do I delegate my voting power?

Go to an app that supports Ajna Grants and find the "Delegate" button. Then, simply input the address of the delegate and submit the transaction. Delegations are assigned in full and cannot be split across multiple delegates.

### How do I undelegate my voting power?

There is no direct way to undelegate. Instead, move the delegation to the `0x0000000000000000000000000000000000000000` address or your own address.

### Why should I delegate?

Delegation is a great way to support the growth of the protocol after launch. There is also an opportunity to earn rewards if you self-delegate.

### Can I delegate to myself?

Yes, you can self-delegate. This is done in order to earn delegate rewards.

### Can I delegate to multiple parties?

No, delegations are assigned in full and cannot be split across multiple delegates.

### Can I earn rewards for delegating?

Only if you self-delegate and participate in both the Screening and Funding Stages.&#x20;

### How much do delegates earn?

10% of the quarterly distribution is awarded to delegates who participate in both the Screening Stage and the Funding Stage.

### Can I earn rewards for voting?

Only if you self-delegate. Keep in mind, only delegates who participate in both the Screening Stage and the Funding Stage will be eligible to receive delegation rewards.

### Can I cancel or modify my vote?

No, votes cannot be cancelled or modified. They are final once submitted.

### What is Quadratic Voting?

Quadratic voting is a system that allows individuals to express their preferences using a budget of voting points. Unlike traditional "one person, one vote" systems, individuals can allocate their voting points based on the importance of the issue to them, giving more weight to their individual opinions. The allocation of voting points follows a quadratic function, which means that the number of voting points increases as more items are voted on. This system incentivizes people to vote on all items and can lead to a more accurate and nuanced representation of individual opinions.

### Why is Quadratic Voting only used in the funding stage?

The screening stage allows unlimited entries, which breaks quadratic voting due to the way voting credit is counted.

### How often are votes held?

Each cycle runs for 90 days and has three stages. \
The first is a screening stage which runs for 73 days.\
The second is a funding stage which runs for 10 days.\
The third is a challenge stage which runs for 7 days.\
\
Votes can be submitted at at any time, but may not be modified.

### How long do participants have to cast their votes in the screening stage?

73 days. *Votes cannot be cancelled or modified.*

### How long do participants have to cast their votes in the funding stage?

10 days. *Votes cannot be cancelled or modified.*

### Can I change my vote after it’s been cast?

No, *votes cannot be cancelled or modified.*

### Can participants propose changes to the voting system?

No.

### Are there any incentives for participating?

Yes, delegates earn 10% of the AJNA distribution per cycle.

### What happens if a proposal is passed but is not technically feasible?

Then the AJNA tokens are still distributed and the protocol funded something it should not have funded. This would be a failure of due diligence by the voters.

### Can the voting system be used to amend the protocol's smart contracts?

No.

### Can a proposal be resubmitted?

Proposals can be resubmitted, there is no limitation on how many times.


# Deployment Addresses & Bridges

This page tracks Ajna contract deployments on various networks.

## Ethereum Mainnet

### Addresses

<table><thead><tr><th>Contract</th><th>Address</th><th>Date</th><th data-hidden></th></tr></thead><tbody><tr><td>AJNA token</td><td>0x9a96ec9B57Fb64FbC60B423d1f4da7691Bd35079</td><td>2022.09.05</td><td>AjnaToken.s.sol</td></tr><tr><td>bwAJNA</td><td>0x936Ab482d6bd111910a42849D3A51Ff80BB0A711</td><td>2023.14.08</td><td></td></tr><tr><td>ERC20 factory</td><td>0x6146DD43C5622bB6D12A5240ab9CF4de14eDC625</td><td>2024.01.04</td><td>deploy.s.sol</td></tr><tr><td>ERC721 factory</td><td>0x27461199d3b7381De66a85D685828E967E35AF4c</td><td>2024.01.04</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtils</td><td>0x30c5eF2997d6a882DE52c4ec01B6D0a5e5B4fAAE</td><td>2024.01.04</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0xe4e553243264f2bF7C135F1eC3a8c09078731227</td><td>2024.01.04</td><td>deploy.s.sol</td></tr><tr><td>PositionManager</td><td>0x87B0F458d8F1ACD28A83A748bFFbE24bD6B701B1</td><td>2024.01.04</td><td>deploy.s.sol</td></tr><tr><td>BurnWrapper</td><td>0x936Ab482d6bd111910a42849D3A51Ff80BB0A711</td><td>2023.08.14</td><td>BurnWrapper.s.sol</td></tr><tr><td>GrantFund</td><td>0x74d5b005ca64a5C9EE3611Bdc6F6C02D93C84b2f</td><td>2024.01.08</td><td></td></tr></tbody></table>

## Arbitrum One

Canonical bridge from Ethereum mainnet: [https://bridge.arbitrum.io](https://bridge.arbitrum.io/)/

Block explorer: <https://arbiscan.io/>

### Addresses

<table><thead><tr><th>Contract</th><th width="439.3333333333333">Address</th><th>Date</th><th data-hidden>Deployed via</th></tr></thead><tbody><tr><td>bwAJNA token</td><td>0xA98c94d67D9dF259Bee2E7b519dF75aB00E3E2A8</td><td>2024.01.04</td><td>Sent across <a href="https://bridge.arbitrum.io/">https://bridge.arbitrum.io/</a></td></tr><tr><td>ERC20 factory</td><td>0xA3A1e968Bd6C578205E11256c8e6929f21742aAF</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>ERC721 factory</td><td>0x6ae3324612bEfD4AE460244c369f30Ab9CB8cAE2</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtils</td><td>0x8a7F5aFb7E3c3fD1f3Cc9D874b454b6De11EBbC9</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0xCcaf0542c78A3A5e55f99630a2B126A5BAA44FC3</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PositionManager</td><td>0x9A0BE971530Ed2B53597AC9155AC050ca1Bab7A3</td><td>2024.01.17</td><td>deploy.s.sol</td></tr></tbody></table>

## Avalanche

Chain: AVAX\
ChainID: 43114\
Explorer: <https://snowtrace.io>\
Bridge: <https://portalbridge.com/> (powered by Wormhole)\
RPC Used: <https://api.avax.network/ext/bc/C/rpc>\
Contract Deployer - 0x3eF294905C8D8c12aE66B3f80a7D7008439d30FF

### Addresses

<table><thead><tr><th width="168">Contract</th><th width="439.3333333333333">Address</th><th>Date</th><th data-hidden>Deployed via</th></tr></thead><tbody><tr><td>bwAJNA token</td><td>0xE055Ee581c637C419e55B8d5fFBA84375546f70f</td><td>2024.12.018</td><td>Sent across <a href="https://bridge.arbitrum.io/">https://bridge.arbitrum.io/</a></td></tr><tr><td>ERC20 factory</td><td>0x2aA2A6e6B4b20f496A4Ed65566a6FD13b1b8A17A</td><td>2024.12.018</td><td>deploy.s.sol</td></tr><tr><td>ERC721 factory</td><td>0xB3d773147A086A23fB72dcc03828C66DcE5D6627</td><td>2024.12.018</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtils</td><td>0x9e407019C07b50e8D7C2d0E2F796C4eCb0F485b3</td><td>2024.12.018</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0xD2b45DD650141a42fF948EC5B99D9E8DF6799B8f</td><td>2024.12.018</td><td>deploy.s.sol</td></tr><tr><td>PositionManager</td><td>0x0bf183a32614b3Cd11C0268441D96047D05967e0</td><td>2024.12.018</td><td>deploy.s.sol</td></tr></tbody></table>

## Base

Blockchain explorer: <https://basescan.org/>\
Network info: <https://docs.base.org/network-information>\
Chain id: 8453\
Canonical bridge from Ethereum Mainnet: <https://superbridge.app/base>\
Ajna Token Bridged : <https://basescan.org/token/0x7f05a7a9af2f5a07d1e64877c8dc37a64a22508e>

### Addresses

<table><thead><tr><th>Contract</th><th width="366.3333333333333">Address</th><th>Date</th><th data-hidden>Deployed via</th></tr></thead><tbody><tr><td>Ajna Token Bridged</td><td>0x7F05a7A9AF2f5a07D1e64877C8dC37a64a22508E</td><td>2025.05.11</td><td></td></tr><tr><td>bwAJNA token</td><td>0xf0f326af3b1Ed943ab95C29470730CC8Cf66ae47</td><td>2023.08.24</td><td><a href="https://basescan.org/address/0xf23d369d7471bd9f6487e198723eea023389f1d4#writeContract">https://basescan.org/address/0xf23d369d7471bd9f6487e198723eea023389f1d4#writeContract</a></td></tr><tr><td>ERC20 factory</td><td>0x214f62B5836D83f3D6c4f71F174209097B1A779C</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>ERC721 factory</td><td>0xeefEC5d1Cc4bde97279d01D88eFf9e0fEe981769</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtils</td><td>0x97fa9b0909C238D170C1ab3B5c728A3a45BBEcBa</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0x249BCE105719Ae4183204371697c2743800C225d</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PositionManager</td><td>0x59710a4149A27585f1841b5783ac704a08274e64</td><td>2024.01.17</td><td>deploy.s.sol</td></tr></tbody></table>

## Blast

Blockchain explorer: <https://blastscan.io/>\
Cannonical bridge from Ethereum mainnet: <https://blast.io/en/bridge>\
Network Info: <https://docs.blast.io/building/network-information>

<table><thead><tr><th width="194">Contract</th><th width="370">Address</th><th>Date</th></tr></thead><tbody><tr><td>bwAJNA Token</td><td>0x38aD23b0902D0d86c2F3949BC505194D70B762F5</td><td>2024.03.05</td></tr><tr><td>ERC20PoolFactory</td><td>0xcfCB7fb8c13c7bEffC619c3413Ad349Cbc6D5c91</td><td>2024.03.05</td></tr><tr><td>ERC721PoolFactory</td><td>0x6C046C4b072404ce7865a7c317b432B5e269822A</td><td>2024.03.05</td></tr><tr><td>PoolInfoUtils</td><td>0x6aF0363e5d2ddab4471f31Fe2834145Aea1E55Ee</td><td>2024.03.05</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0x1307d1670746E6cF6377844D350DD412Ef1684E5</td><td>2024.03.05</td></tr><tr><td>PositionManager</td><td>0x2475d80b7634aC8F891a5D00c8b56AA3a40E4Cf7</td><td>2024.03.05</td></tr></tbody></table>

## Binance Smart Chain

Chain: BSC\
ChainID: 56\
Explorer: <https://bscscan.com>\
Bridge: <https://portalbridge.com/> (powered by Wormhole) \
RPC Used: <https://bscrpc.com/> \
Contract Deployer - 0x77763d44A18a80de1a09A5DC57Ac766034B031D3

<table><thead><tr><th width="194">Contract</th><th width="370">Address</th><th>Date</th></tr></thead><tbody><tr><td>bwAJNA Token</td><td>0x35Ca6c5b02B2F0955c1a1584DD81071888C517E2</td><td>2024.11.05</td></tr><tr><td>ERC20PoolFactory</td><td>0x86eE95085F204B525b590f21dec55e2373F6da69</td><td>2024.11.05</td></tr><tr><td>ERC721PoolFactory</td><td>0x8A4DaF211979f60339D26b9Eb1407D74fA36a52a</td><td>2024.11.05</td></tr><tr><td>PoolInfoUtils</td><td>0x81557781862D3e0FF7559080C2A9AE1F08Ee8421</td><td>2024.11.05</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0x56A08a72197f86625B0Ec64cA675b2b0568AD613</td><td>2024.11.05</td></tr><tr><td>PositionManager</td><td>0x2DB531409656B4E1711EE89E6cB9A4a09aC0AAD7</td><td>2024.11.05</td></tr></tbody></table>

## FileCoin FVM

Canonical Bridge from Ethereum Mainnet: <https://www.axelar.network/its>\
Blockchain explorer: <https://filfox.info/>\
Network info: [https://docs.filecoin.io](https://docs.filecoin.io/smart-contracts/fundamentals/the-fvm)

<table><thead><tr><th width="213">Contract</th><th width="400.33333333333326">Address</th><th>Date</th><th data-hidden>Deployed via</th></tr></thead><tbody><tr><td>bwAJNA token</td><td>0xe9DfbF0d7371638dc2662672435E1A3E75D0CeF4</td><td>2024.03.18</td><td><a href="https://mapper.polygon.technology/map">https://mapper.polygon.technology/map</a></td></tr><tr><td>ERC20 factory</td><td>0x0E4a2276Ac259CF226eEC6536f2b447Fc26F2D8a</td><td>2024.03.19</td><td>deploy.s.sol</td></tr><tr><td>ERC721 factory</td><td>0x07Eb44ca94cddA4016cECCe7FB9C7Ae73DBD4306</td><td>2024.03.19</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtils</td><td>0xCF7e3DABBaD8F0F3fdf1AE8a13C4be3872d06d56</td><td>2024.03.19</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0x82fba8E56F7D848B0Ee598f1449185b570d9B384</td><td>2024.03.19</td><td>deploy.s.sol</td></tr><tr><td>PositionManager</td><td>0x0cEfA3be6496B8Ab0A66B01aABEf05A5aE38221b</td><td>2024.03.19</td><td>deploy.s.sol</td></tr></tbody></table>

## Gnosis Chain

Canonical Bridge from Ethereum Mainnet: <https://omni.gnosischain.com/bridge>\
Blockchain explorer: <https://gnosisscan.io/>\
Other: <https://github.com/gunboatsss/ajna-core/tree/gnosis-deployments/deployments>

<table><thead><tr><th width="252">Contract</th><th width="371.3333333333333">Address</th><th>Date</th><th data-hidden>Deployed via</th></tr></thead><tbody><tr><td>bwAJNA token</td><td>0x7fE440bC581DA8fF0173a588D3f7603814393763</td><td>2024.01.23</td><td><a href="https://mapper.polygon.technology/map">https://mapper.polygon.technology/map</a></td></tr><tr><td>ERC20 factory</td><td>0x87578E357358163FCAb1711c62AcDB5BBFa1C9ef</td><td>2024.01.23</td><td>deploy.s.sol</td></tr><tr><td>ERC721 factory</td><td>0xc7Fc13Fa7B697fBE3bdC56D5b9A6586A83254126</td><td>2024.01.23</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtils</td><td>0x2baB4c287cF33a6eC373CFE152FdbA299B653F7D</td><td>2024.01.23</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0x6A91429425Fb992A9cf300aD215e4469d0D1A75A</td><td>2024.01.23</td><td>deploy.s.sol</td></tr><tr><td>PositionManager</td><td>0x173b32A07b41296909d7972421d63BAbA5160B37</td><td>2024.01.23</td><td>deploy.s.sol</td></tr></tbody></table>

## Hemi

Chain: HEMI\
ChainID: 43111\
Explorer: [ https://explorer.hemi.xyz/](< https://explorer.hemi.xyz/>)\
Bridge: <https://app.hemi.xyz/en/tunnel/>\
RPC Used: <https://rpc.hemi.network/rpc>

Network info: <https://docs.hemi.xyz/main/network-details>

<table><thead><tr><th width="252">Contract</th><th width="371.3333333333333">Address</th><th>Date</th><th data-hidden>Deployed via</th></tr></thead><tbody><tr><td>bwAJNA token</td><td>0x63D367531B460Da78a9EBBAF6c1FBFC397E5d40A</td><td>2025.01.15</td><td><a href="https://mapper.polygon.technology/map">https://mapper.polygon.technology/map</a></td></tr><tr><td>ERC20 factory</td><td>0xE47b3D287Fc485A75146A59d459EC8CD0F8E5021</td><td>2025.01.10</td><td>deploy.s.sol</td></tr><tr><td>ERC721 factory</td><td>0x3E0126d3B10596b7E13e42E34B7cBD0E9735e4c0</td><td>2025.01.10</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtils</td><td>0xab57F608c37879360D622C32C6eF3BBa79AA667D</td><td>2025.01.10</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0x165fd403FC5709293B78E5A2C8f36A47187BBde0</td><td>2025.01.10</td><td>deploy.s.sol</td></tr><tr><td>PositionManager</td><td>0xCD7496b83D92c5e4F2CD9C90ccC5A5B3a578cF95</td><td>2025.01.10</td><td>deploy.s.sol</td></tr></tbody></table>

## Linea

Blockchain explorer: <https://lineascan.build/> \
Cannonical bridge from Ethereum mainnet: <https://bridge.linea.build/> \
Network Info: <https://docs.linea.build/developers/quickstart/info-contracts>

#### Addresses

<table><thead><tr><th>Contract</th><th width="366.3333333333333">Address</th><th>Date</th><th data-hidden>Deployed via</th></tr></thead><tbody><tr><td>bwAJNA token</td><td>0x36607298fBfABAc509B3d24BF02777d372A38DD4</td><td>2024.06.20</td><td><a href="https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000012#writeProxyContract">https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000012#writeProxyContract</a></td></tr><tr><td>ERC20 factory</td><td>0xd72A448C3BC8f47EAfFc2C88Cf9aC9423Bfb5067</td><td>2024.06.20</td><td>deploy.s.sol</td></tr><tr><td>ERC721 factory</td><td>0x0c1Fa8D707dFb57551efa21C16255BEAb13F5bCD</td><td>2024.06.20</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtils</td><td>0x3AFcEcB6A943746eccd72eb6801E534f8887eEA1</td><td>2024.06.20</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0x38d55d1f2100dB1423C4907Aa907D47B4670d5EF</td><td>2024.06.20</td><td>deploy.s.sol</td></tr><tr><td>PositionManager</td><td>0x083BDB49dBA6f5A225a20893e043220526DeCf54</td><td>2024.06.20</td><td>deploy.s.sol</td></tr></tbody></table>

## Mode

Blockchain Explorer: <https://modescan.io/>\
Canonical Bridge from Ethereum Mainnet:

<table><thead><tr><th>Contract</th><th width="364.3333333333333">Address</th><th>Date</th><th data-hidden>Deployed via</th><th data-hidden></th></tr></thead><tbody><tr><td>bwAJNA token</td><td>0x9e1028F5F1D5eDE59748FFceE5532509976840E0</td><td>2024.03.22</td><td>forge create</td><td></td></tr><tr><td>ERC20PoolFactory</td><td>0x62Cf5d9075D1d6540A6c7Fa836162F01a264115A</td><td>2024.04.30</td><td>deploy.s.sol</td><td></td></tr><tr><td>ERC721PoolFactory</td><td>0x2189eC0743e36f2CB51BEdaf089d686BC0996e03</td><td>2024.04.30</td><td>deploy.s.sol</td><td></td></tr><tr><td>PoolInfoUtils</td><td>0x6EF483c3653907c19bDD4300087e481551880c60</td><td>2024.04.30</td><td>deploy.s.sol</td><td></td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0xF3e7fe30d939Bddd070DCCa7823DFfA8433D3Fc3</td><td>2024.04.30</td><td>deploy.s.sol</td><td></td></tr><tr><td>PositionManager</td><td>0x477b8de8De8b45fb3ecAe28fCA266A383C61Adf8</td><td>2024.04.30</td><td>deploy.s.sol</td><td></td></tr></tbody></table>

## Optimism

Canonical bridge from Ethereum Mainnet: <https://app.optimism.io/bridge/deposit>\
Blockchain explorer: <https://optimistic.etherscan.io/>

#### Addresses

<table><thead><tr><th>Contract</th><th width="382.3333333333333">Address</th><th>Date</th><th data-hidden>Deployed via</th></tr></thead><tbody><tr><td>bwAJNA token</td><td>0x6c518f9D1a163379235816c543E62922a79863Fa</td><td>2023.08.27</td><td><a href="https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000012#writeProxyContract">https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000012#writeProxyContract</a></td></tr><tr><td>ERC20 factory</td><td>0x609C4e8804fafC07c96bE81A8a98d0AdCf2b7Dfa</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>ERC721 factory</td><td>0xAAa20ba75A7ed4Fa895E4659861448a828fa6E48</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtils</td><td>0xdE6C8171b5b971F71C405631f4e0568ed8491aaC</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0x33e5c2b41e915acFC268a4eaACC567f612f96601</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PositionManager</td><td>0x72bF565f2BdA43294C6cC2BfE17C7FaE5258F819</td><td>2024.01.17</td><td>deploy.s.sol</td></tr></tbody></table>

## Polygon POS

Canonical Bridge from Ethereum Mainnet: <https://wallet.polygon.technology/polygon/bridge/deposit>\
Blockchain explorer: <https://polygonscan.com/>

<table><thead><tr><th>Contract</th><th width="360.3333333333333">Address</th><th>Date</th><th data-hidden>Deployed via</th></tr></thead><tbody><tr><td>bwAJNA token</td><td>0xA63b19647787Da652D0826424460D1BBf43Bf9c6</td><td>2023.08.14</td><td><a href="https://mapper.polygon.technology/map">https://mapper.polygon.technology/map</a></td></tr><tr><td>ERC20 factory</td><td>0x1f172F881eBa06Aa7a991651780527C173783Cf6</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>ERC721 factory</td><td>0x8B7f874D15c25BeCC4F7c1906b3677533fe60A6e</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtils</td><td>0x519021054846cd3D9883359B593B5ED3058Fbe9f</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0xe6F4d9711121e5304b30aC2Aae57E3b085ad3c4d</td><td>2024.01.17</td><td>deploy.s.sol</td></tr><tr><td>PositionManager</td><td>0xb8DA113516bfb986B7b8738a76C136D1c16c5609</td><td>2024.01.17</td><td>deploy.s.sol</td></tr></tbody></table>

## Rari Chain

Canonical Bridge from Ethereum Mainnet: <https://bridge.arbitrum.io/?destinationChain=rari-mainnet&sourceChain=ethereum>\
Blockchain explorer: <https://mainnet.explorer.rarichain.org/>

<table><thead><tr><th>Contract</th><th width="360.3333333333333">Address</th><th>Date</th><th data-hidden>Deployed via</th></tr></thead><tbody><tr><td>bwAJNA token</td><td>0x98BE1b64fD73Ac168F9b588bFeCDe8471999Efbc</td><td>2024.05.27</td><td><a href="https://mapper.polygon.technology/map">https://mapper.polygon.technology/map</a></td></tr><tr><td>ERC20 factory</td><td>0x10cE36851B0aAf4b5FCAdc93f176aC441D4819c9</td><td>2024.07.23</td><td>deploy.s.sol</td></tr><tr><td>ERC721 factory</td><td>0x9A846d9871012f948c11357c19088007Ee6845BC</td><td>2024.07.23</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtils</td><td>0xe85958CD5d59755470F6217aE9ee2Aa88eD02eE5</td><td>2024.07.23</td><td>deploy.s.sol</td></tr><tr><td>PoolInfoUtilsMulticall</td><td>0x26694369Dc342Cc0152A9c5975e10CF7EaB6163e</td><td>2024.07.23</td><td>deploy.s.sol</td></tr><tr><td>PositionManager</td><td>0xBb4a65d74893C14060eDe747361D952f4F47DB6f</td><td>2024.07.23</td><td>deploy.s.sol</td></tr></tbody></table>


# Protocol Diagram

Credit to 0xBoka

<figure><img src="/files/fLE81CsSXvgXhNkw1zR3" alt=""><figcaption></figcaption></figure>

{% embed url="<https://x.com/0xboka/status/1762026373412241759>" %}


# Roadmap

## Now

:green\_circle: Protocol Launched on Ethereum Mainnet\
:green\_circle: Protocol Launched on Arbitrum\
:green\_circle: Protocol Launched on Base\
:green\_circle: Protocol Launched on Blast\
:green\_circle: Protocol Launched on Gnosis Chain\
:green\_circle: Protocol Launched on Polygon POS\
:green\_circle: Protocol Launched on Optimism\
:green\_circle: Ajnafi.com support for all the networks above.\
:green\_circle: Summer.fi support for Ethereum, Arbitrum, Optimism, and Base\
:green\_circle: Juiced.app Vaults for passive lender experience on select Ajna Pools (4 pools currently)\
:green\_circle: Juiced.app Lender Incentivization for select pools.\
:green\_circle: [Marketing team agreement](https://forum.ajna.finance/t/mom-grant-proposal/148) with MOM.\
:green\_circle: The[ Ajna Perpetual Market Maker](https://forum.ajna.finance/t/the-ajna-perpetual-market-maker/162) launched.\
:green\_circle: [Ajnamatch.com](https://ajnamatch.com) launched.\
:green\_circle: Token Launchpad powered by Ajna (Moon.inc)\
:green\_circle: Protocol Launch on Filecoin's FVM + Ajnafi.com support\
:green\_circle:Token Launchpad powered by Ajna\
:green\_circle: Protocol Launch on RariChain + Ajnafi.com support\
:green\_circle: CEX Listing on Ascendex (formerly Bitmart)\
:green\_circle: Merkl Integration — now anyone can run incentive campaigns on Ajna pools!

## Soon

:yellow\_circle: Protocol Launch on Avalanche + Ajnafi.com support\
:yellow\_circle: Protocol Launch on Binance Smart Chain + Ajnafi.com support\
:yellow\_circle: Protocol Launch on Linea + Summer.fi & Ajnafi.com support\
:yellow\_circle: Protocol Launch on CoreDAO+ Summer.fi & Ajnafi.com support\
:yellow\_circle: Protocol Launch on Unichain+ Ajnafi.com support\
:yellow\_circle: Passive lender UX product via Summer.fi


# Builder Starter Kit

This repository provides a basic setup and configuration to kick-start your development projects using the Ajna protocol.

<https://github.com/ajna-finance/starter-template>\
\
And here's our SDK\
\
<https://www.npmjs.com/package/@ajna-finance/sdk>


# How to Deploy

Deploying the Ajna Protocol on an EVM chain.

<figure><img src="/files/bEhHeudrro7sv0Yny7GO" alt=""><figcaption></figcaption></figure>

### Intro

In this summary article, we cover the basics of deploying the Ajna Protocol on EVM chains of your choice. It's not as simple as pressing a couple of buttons and forgetting about it because there are considerations and requirements to be aware of.&#x20;

All of this info could be found on github, in the [Ajna-core Readme.md file](https://github.com/ajna-finance/ajna-core?tab=readme-ov-file#ajna-contracts).

### Requirements

The full details [are here](https://github.com/ajna-finance/ajna-core?tab=readme-ov-file#licensing). To summarize;\
\
Third parties may deploy The Ajna Protocol so long as:

1. No other functional and successful deployment of Ajna is available on the target chain.
2. No modification to Solidity source files in the protocol is made, and no changes are made that conflict with the [Business License](https://github.com/ajna-finance/ajna-core/blob/master/LICENSE).
3. Before deployment, the canonical burn-wrapped AJNA token (bwAJNA) on Ethereum mainnet is bridged to the target chain using the L2’s canonical bridge.  For untrusted bridges, consider double-wrapping on L1.
4. Upon deployment, the protocol is configured to use the bwAJNA token from step 3 on the target chain.

### Deploying the Contracts

The full details [are here](https://github.com/ajna-finance/ajna-core?tab=readme-ov-file#deployment). To summarize;

1. Create some [bwAJNA](https://etherscan.io/token/0x936ab482d6bd111910a42849d3a51ff80bb0a711).

Do so by going to ajnafi.com and navigating to any pool's "manage pool" section, then go to the "reserves", then interact with the "Wrap AJNA for L2s" widget on the bottom left.

<figure><img src="/files/1rG53Wns3dH01Dkh5llH" alt=""><figcaption></figcaption></figure>

2. [Bridge](https://l2beat.com/bridges/summary) bwAJNA to the target chain.
   * [Choose a bridge](https://faqs.ajna.finance/faqs/ajna-token#which-bridge-do-i-use-to-send-my-bwajna-to-another-network)
   * Bridge the token to the target chain.
3. Configure deployment to use the bridged bwAJNA token by setting `AJNA_TOKEN` environment variable to the L2 token address.
4. A [deployment script](https://github.com/ajna-finance/ajna-core/blob/master/script/deploy.s.sol) exists to help automate the deployment of all the libraries and contracts.  Before running, update the `Makefile` with any specific configuration for the target chain, such as  the `--verifier-url`.  You may need to create a new account and API key using the chain’s explorer GUI and set your `ETHERSCAN_API_KEY` accordingly.
5. Run the script with `make deploy`.

### Getting Integrated

#### Recommendations

These make it easier for frontends to integrate your network's Ajna Protocol instance:

1. Give UIs access to a node.
2. Consider paying UIs to integrate your network.

#### Front End Apps & Info Sites

To get your deployment listed on frontends and info sites you will need to get in contact with them. The parties are under no obligation to list new deployments. In all cases they will likely do their own verification that the deployment is done properly. Frontends may seek financial and/or infrastructure support (ETH-RPC node, subgraph deployment) for integrations. Below are some of the popular sites and contact info of their representatives.

**Front End Apps**

**Summer.fi**\
[Summer.fi/ajna<br>](http://summer.fi/ajna)[https://discord.gg/summerfi<br>](https://discord.gg/summerfi)Contact Lucian\
<https://t.me/Lucianken>\
\
**Builtbymom**\
[ajnafi.com<br>](https://ajnafi.com/)<https://discord.gg/zp8aJBkwBY> (visit the ajnaficom-support channel)\
Contact Facu\
<https://t.me/saltyfacu>

#### Info Sites

**Block Analitica**\
[info.ajna.finance<br>](https://info.ajna.finance/)[https://discord.gg/zp8aJBkwBY<br>](https://discord.gg/zp8aJBkwBY)Contact\
<https://t.me/xcommanderkeen>


# Incentive Programs

1. <https://app.merkl.xyz/?search=ajna>\
   Merkl facilitates premissionless incentive programs that can start and end at any time. Check the page above to see what campaigns are running.
2. [Summer.fi](https://summer.fi/ajna)\
   They offer AJNA rewards on various token pairs on Mainnet and Base. Tokens are claimable on Mainnet. Visit [their blog](https://blog.summer.fi/) for the latest rewards update.
3. <https://juiced.yearn.fi/>\
   They offer AJNA rewards for depositing into their Vaults. Visit their site to see the latest emissions.

### Create an Incentive Campaign

Visit <https://app.merkl.xyz/create/ajna> to set up a campaign for the Ajna pool of your choice.\
\
Merkl for Ajna is live on:

* ethereum mainnet
* base
* optimism
* arbitrum
* gnosis
* mode
* blast
* polygon

To reward users with a new token, please fill out this form by the Merkl Team: <https://tally.so/r/3y2bqx>


# Inverse Pricing

Pricing lender deposits on short pools

Sometimes you may come across pricing that looks funny, something like this:

<figure><img src="/files/l9HbfJ0khzWUoVps47lu" alt=""><figcaption></figcaption></figure>

On the left we have a “normal” long lending pool where wETH is used as collateral and USDC is borrowed. The price order book shows lender deposits priced at a discount to market price. \
`1 ETH = $2156`

On the right we have an "inverse" short lending pool where USDC is used as collateral and wETH is borrowed. The order book shows a price that is hard to understand. \
`1 USDC = 0.002099 ETH`

**Price buckets show prices defined as 1 unit of collateral token denominated in the quote token.** \
\
One way to understand how an inverse price related to the market price is to perform 1/inverse-price. In the example above this gives us the implied price of 1 wETH at the 0.0002099 price bucket, which is

<figure><img src="/files/HhxzpfFZzD4IJ49RQro9" alt=""><figcaption></figcaption></figure>

In a short market the borrower’s position is liquidated when the price of the borrowed token rises. This is why we see a premium to the market price rather than a discount. In the example above, the lender is depositing their wETH tokens at a \~$4760 value, meaning the borrower can put up $4760 USDC to borrow 1 wETH at the maximum. If the market price of ETH at the time is $3800, this deposit implies a max LTV of \~1.25 or \~125%.&#x20;

<br>


# Choosing a Price Bucket

Lender Guide

Read below and check out this short video tutorial:\
<https://youtu.be/Pu3mnV4NBJc?si=LigZJsf8z1G048Uy>\
\
When lending, a price bucket for the deposit of Quote Token must be selected. \
\
*Tip: Pools are always described as **Collateral Token / Quote Token***

<figure><img src="/files/asHm14zzmRD1KrZwEKOm" alt=""><figcaption><p>LFIX / USDC Lender Interface Example</p></figcaption></figure>

Price buckets are priced at X = 1 unit of collateral, X is denominated in the quote token. \
\
Eg: in the WETH (Collateral) / USDC (Quote) pool, prices should be $Discount to Market USDC = 1 unit of WETH

As a general rule, select a discount to market price or the price at which you are willing to buy if the value of the collateral were to decline. This is especially true for NFTs or long tail assets that have a thin or non-existent secondary market. However, be careful when selecting for short pools, as the prices are inverse, [see this page](https://faqs.ajna.finance/concepts/inverse-pricing) for more info and examples for short pool bucket pricing.&#x20;

Below are detailed examples of different pools, the market price of their collateral(MP), and their buckets:

**Long Pools**

`ETH/USDC, MP = $3300, Bucket = $3000`\
\
Long pools are typical. The price of the bucket is a discount to the collateral’s market price. Lenders select a bucket price of 1 Collateral Token(ETH) denominated in Quote Token(USDC) that represents a discount to the collateral market price. In this example the market price is $5000, the price bucket chosen is $3000, a 40% discount to the market.

*Tip: Lenders should account for the volatility of the collateral when determining the discount.*\ <br>

**Short Pools**

`USDC/ETH, MP = 0.0003 ETH, Bucket = 0.0002 ETH`

Short markets are tricky, be careful. Please read the [inverse pricing section](/concepts/inverse-pricing) to better understand the pricing conventions of this pool type. I’ll summarize below:\
\
Lenders select a bucket price of 1 Collateral Token(USDC) denominated in Quote Token(ETH) that represents a discount to the collateral market price. In this example the market price is 0.003, implying an ETH price of 1/0.003, or $3,333,33. The bucket selected is 0.0002 ETH, implying a price of $5000. \
As a lender you are saying that you are willing to exchange the ETH you lent for USDC as a price of $5000 if the price appreciates.\
\
In this case a borrower would get liquidated when the value of their collateral (USDC) drops in relation to their debt. \
\
`USDC is worth less in ETH terms when the price of ETH goes up.`\
`USDC is worth more in ETH terms when the price of ETH goes down.`

*Tip: In short pools, lenders should choose a price above market.*

**Unstable Pool**\
\
`RBN/ETH, MP = 0.000236 ETH, Bucket = 0.00012 ETH`

An unstable pool contains assets on both sides that don’t hold stable values. An example of this is the RBN/ETH pool.\
\
Lenders select a bucket price of 1 Collateral Token(RBN) denominated in Quote Token(ETH) that represents a discount to the collateral market price. In this example the market price is 0.00236 ETH = 1 RBN. Price buckets under 0.00236 make sense for this pool, not accounting for the possible volatility of the RBN/ETH price.

**Stable Pool**

`sUSDe / DAI, MP = 1.05 DAI, Bucket = 0.995 DAI`

A stable pool contains assets on both sides that have relatively stable values. An example of this is the sUSDe/DAI pool.

Lenders select a bucket price of 1 Collateral Token(sUSDe) denominated in Quote Token(DAI) that represents a discount to the collateral market price. In this example the market price is 1.05 DAI = 1 sUSDe. Price buckets under 1.05 make sense, not accounting for the possible volatility of the sUSDe/DAI price.<br>

**Adjusting deposits**

As the market price of the collateral moves, lenders risk getting traded against at the price bucket of their deposit. To avoid this, lenders need to monitor their positions and adjust deposits as needed. Doing so requires withdrawal and redeposit of the lent tokens. In some cases the lender's deposit may be frozen, in which case adjusting will not be possible. This is a risk you take as a lender, especially as a deposit is closer to the market price.

<br>

<br>

\ <br>


