# WOO: Home of AI-driven trading

An ecosystem of applications designed to turn complex markets into simple, actionable decisions.

#### A Paradigm Shift: From Infrastructure to Intelligence

Crypto’s first decade was about building infrastructure. Layer 1s, layer 2s, rollups, and consensus mechanisms pushed blockchains to become faster, cheaper, and more scalable than ever.

That phase is largely complete.

The next phase of crypto is not more infrastructure. It is intelligent applications.

#### The Opportunity Gap

Centralized exchanges dominate because they abstract complexity. They offer simple interfaces, fast execution, and a sense of guidance. But they also act as gatekeepers, controlling access to products, data, and opportunities.

Decentralized finance offers openness and permissionless access, but at the cost of fragmented tools, manual workflows, and a steep learning curve. For most users, especially new ones, navigating wallets, gas, chains, and protocols remains overwhelming.

This gap is not about decentralization versus centralization. It is about who does the thinking.

#### The Shift: Starchild and AI-Native Trading

Starchild represents a fundamental shift in the WOO ecosystem.

Rather than asking users to understand every market, product, and strategy, Starchild is designed to help users interact with the ecosystem through AI-driven intelligence. It curates signals, strategies, and actions across DeFi, allowing users to focus on outcomes rather than mechanics.

This changes how users engage with markets:

* Less manual execution
* Fewer disconnected tools
* Faster decision-making
* More consistent results

In an AI-first environment, growth is no longer driven by raw access to infrastructure, but by how effectively intelligence is delivered to users.

#### The WOO Ecosystem

WOO is built to support this shift, combining execution, liquidity, and intelligence under a unified framework:

* Starchild – An AI-powered interface that curates signals, strategies, and actions across the ecosystem
* WOOFi – An all-in-one DeFi application for swaps, yield, and onchain trading
* WOOFi Pro – A decentralized perpetual futures exchange
* WOO Stake – An onchain staking application for the $WOO token

#### The Role of the WOO Token

Protocol revenue accrues directly to WOO through staking and buyback mechanisms, aligning token holders with real economic activity. WOO also functions as the primary governance asset, enabling long-term participants to shape protocol direction, capital allocation, and ecosystem priorities. The token has no ongoing inflation, with supply fully realized and no future dilution, allowing value to accrue based on actual usage rather than emissions.

WOO is distributed omnichain, with onchain liquidity available across multiple networks, while also being accessible through centralized exchange listings. This allows users to engage with the ecosystem regardless of where they operate, without fragmenting liquidity or incentives.


# WOOFi: the all-in-one DeFi app

https\://woofi.com

WOOFi is a leading decentralized exchange (DEX) with over $70B in cumulative trading volume and more than 250k monthly active users. It supports 10+ blockchains and offers a diverse range of products, including earn vaults, simple swaps, crosschain swaps, and perpetual futures. The native token, WOO, can be staked to share 80% of protocol fees.

#### ⚔️⛓️ **Crosschain swaps**

* Move any asset quickly and seamlessly across 11 supported chains with minimum slippage

#### 💰🤝 **Revenue sharing**

* Stake WOO tokens and earn 80% of WOOFi net fees, paid in USDC or auto-compounded into WOO

#### ⚡️💲 **Supercharged yields**

* Lend assets to WOOFi's liquidity manager and earn leading single-sided yield, free of impermanent loss

#### 📘📈 Perpetual futures

* Trade perpetual futures with WOOFi Pro's orderbook, enjoy a CeFi style trading experience while keeping self-custody

### Grants, incentives, and awards

To date, WOOFi has been the recipient of over $1.8m in builder grants and incentives from various ecosystems. These demonstrate the commitment and track record of the product and team:

<table><thead><tr><th width="128">Grant</th><th>Ecosystem</th><th>Token</th><th>Amount</th><th>Date</th><th>Notional*</th></tr></thead><tbody><tr><td>STIP</td><td>Arbitrum</td><td>ARB</td><td>1M</td><td>Dec 2023</td><td>$1,030,000</td></tr><tr><td>RPGF3</td><td>Optimism</td><td>OP</td><td>38,233</td><td>Jan 2024</td><td>$142,227</td></tr><tr><td>Mantle EcoFund</td><td>Mantle</td><td>MNT</td><td>50,000</td><td>Feb 2024</td><td>$38,500</td></tr><tr><td>STIP Bridge</td><td>Arbitrum</td><td>ARB</td><td>395,000</td><td>June 2024</td><td>$434,500</td></tr><tr><td>Protocol RFP</td><td>LayerZero</td><td>ZRO</td><td>110,003</td><td>June 2024</td><td>$363,000</td></tr><tr><td>RPGF4</td><td>Optimism</td><td>OP</td><td>116,271</td><td>July 2024</td><td>$186,034</td></tr><tr><td><p>Trading volume incentive </p><p>program</p></td><td>BNB</td><td>BNB</td><td>$3.6k</td><td>July 2024</td><td>$3,600</td></tr><tr><td>Avalanche Boost</td><td>Avalanche</td><td>AVAX</td><td>10,000</td><td>Oct 2024</td><td>$265,000</td></tr></tbody></table>

*\*Notional amounts approximated based on prices at date awarded.*

### Quick links 📎

⭐️ [Launch app](https://woofi.com/?chainId0=42161\&token0=NATIVE\&chainId1=42161\&token1=0xaf88d065e77c8cC2239327C5EDb3A432268e5831)

🪙 [Perpetual futures](https://pro.woofi.com/)

📖 [User guides](/user-guides/get-started)

❓ [FAQs](/user-guides/faqs)

📊 [DeFiLlama](https://defillama.com/protocol/woofi), [DappRadar](https://dappradar.com/dapp/woofi), [Dune Dashboards](https://dune.com/browse/dashboards?team=woofianalytics)

📢 [Twitter](https://twitter.com/_WOOFi), [Substack](https://woofi.substack.com/), [Discord](https://discord.gg/woonetwork), [Lens](https://lenster.xyz/u/woofi)

🛠️ [Developer docs](https://learn.woo.org/v/woofi-dev-docs/)

🔒 [Audits & bug bounties](https://learn.woo.org/v/woofi-dev-docs/references/audits-and-bounties)


# Synthetic proactive market maker

WOOFi's sPMM model

WOOFi's swap uses an onchain market-making algorithm called [Synthetic Proactive Market Making (sPMM)](https://learn.woo.org/v/woofi-dev-docs/resources/the-math-behind-spmm). The sPMM algorithm, which works in tandem with WOOFi's high-frequency [onchain oracles](https://learn.woo.org/v/woofi-dev-docs/resources/on-chain-price-feeds) allows professional market makers to simulate the price, spread, and depth of the order book on centralized exchanges onchain.&#x20;

WOOFi is the only swap DEX that pays rebates to wallets, apps, and aggregators that route order flow to it. WOOFi rebates 20% of its swap fee in USDC back to the broker who routes the trades to it.&#x20;

Learn more about [WOOFi brokers](https://learn.woo.org/v/woofi-dev-docs/guides/become-a-woofi-broker).

#### High capital efficiency

Exchanges like Binance and WOO X typically have better liquidity for majors than DEXs, so by simulating centralized exchange liquidity, it is able to outperform AMMs in the execution of the same trade size, with a fraction of the TVL. WOOFi's sPMM liquidity pool historically achieves 200%\~1000% capital efficiency (i.e. volume-to-liquidity ratio). This allows WOOFi to keep borrowing costs low, which results in lower swap fees for traders. &#x20;

Instead of having separate liquidity pools for each trading pair, WOOFi uses a singleton pool design that holds and manages all the assets using multiple base tokens and one quote token. WOOFi auto rebalances the assets in the pool by providing more favorable quotes to traders who send assets that are low in liquidity to the pool. This design further improves the volume-to-liquidity ratio and saves on gas fees for users.&#x20;

With such a design, WOOFi is able to quickly provide high-quality trading execution for major assets on any blockchain without liquidity bootstrapping. WOOFi is particularly effective on new blockchains that have thinner liquidity on major assets, as users do not need to pay exorbitant fees and suffer high slippage.&#x20;

#### MEV protection

Sandwich attacks are one of the main concerns for any size DeFi trader. Since the price in AMMs is determined by the token balances in the liquidity pool, an exploiter that detects a pending transaction can frontrun the victim's trade by pushing the price up, then selling back to them for a higher price.

In WOOFi, the price is determined by the parameters of [onchain price feeds](https://learn.woo.org/v/woofi-dev-docs/resources/on-chain-price-feeds) and sPMM algorithm instead of the liquidity in the pool. It proactively updates the price on chain at a \~0.1% price deviation, therefore, the exploiter will not be able to artificially push the price up to frontrun other users.&#x20;


# Crosschain swaps

WOOFi is the first DEX that enabled one-click crosschain swaps by integrating LayerZero's crosschain messaging and Stargate's bridge liquidity.&#x20;

WOOFi's crosschain swap router wraps multiple actions into one, so the whole process is abstracted away from the users.&#x20;

A crosschain swap transaction may include all or some of the following steps:

1. Swap asset A in the user's wallet to asset B in WOOFi on the source chain
2. Bridge asset B to asset C on the destination chain via Stargate (asset B and asset C are of the same value)
3. Swap asset C to asset D in WOOFi on the destination chain and send back to the user's wallet

<div data-full-width="true"><figure><img src="/files/CzZI8sIdTLOdN4LuVuZ6" alt="" width="563"><figcaption><p>Crosschain swap routing</p></figcaption></figure></div>

Users only need to initiate and sign one transaction on the source chain. Users only need to pay the gas fee on the source chain once, which includes the gas fee of the operations on the destination chain.&#x20;

When querying the crosschain swap, users will be prompted with the optimal route with the most amount of output tokens. It utilizes various bridging routes in Stargate including stablecoins, ETH and WOO. Additional routes through OFT or CCTP will be supported in the future too.&#x20;


# Earn vaults

Users can supply liquidity in WOOFi by depositing assets into vaults. By doing this, users delegate the liquidity management to the sPMM pool manager, so that users keep the exposure only to the token they deposit without worrying about impermanent loss.&#x20;

Up to 90% of the assets in the vaults are available to be borrowed and used to facilitate on chain swaps by the sPMM pool manager as needed. The sPMM pool manager pays a fixed [borrowing rate](#where-does-the-yield-of-supercharger-vaults-come-from) on the loan and manages the quotes and [the impermanent loss risk](#how-does-the-woofi-spmm-lp-manage-impermanent-loss).

#### Settlement cycle

The vaults have a **7-day settlement cycle** and there is a 24-hour time window after each cycle ends for the LP to settle loans according to user requests. The workflow of the vault is illustrated as follows:

<figure><img src="/files/Grr3Q3ktSrkRlgBbcpQa" alt=""><figcaption><p>Vault design flowchart</p></figcaption></figure>

1. Users deposit assets into the vault
2. Assets are deployed into the base yield farming strategy on a third party DeFi protocol
3. The sPMM pool manager initiates and borrows up to 90% of the vault TVL as needed
4. Borrowed assets are retrieved from the third party protocol and deposited into the WOOFi liquidity pool
5. The sPMM pool manager repays the principal and interest of the loan to the vault
6. When the vault is not under settlement, users can choose to instantly withdraw assets to their wallet within the weekly limit or request withdrawals of any amount which will be settled at the end of the cycle
7. During the settlement process, the assets requested for withdrawal will be moved from the vault to a separate pool
8. The requested assets will be available for withdrawal anytime after the settlement process completes

#### Withdrawals

Each 7-day cycle starts from 0:00 UTC Monday. The sPMM pool manager will be notified of the amount to repay based on the withdrawal requests from the last cycle. The sPMM pool manager needs to complete the settlement within 24 hours, and as soon as the settlement completes the next cycle will begin.&#x20;

<figure><img src="/files/FBhmUMqOmeQ1OPlbSPUB" alt=""><figcaption><p>Vault settlement cycle</p></figcaption></figure>

* **Standard withdrawal** - there are two steps for standard withdrawals: 1) request; 2) withdraw. Users can request to withdraw their deposits with no fee or limit anytime except when the vault is under the settlement. Assets requested will be available for withdrawal as soon as the next settlement process completes, i.e. no later than 0:00 UTC Tuesday. The settlement process usually takes a lot less time (e.g. a few hours) if there aren't many withdrawal requests.
* **Instant withdrawal** - to meet users' urgent needs, at the beginning of each cycle the vault sets aside 10% of the TVL for instant withdrawals. Users can withdraw their deposits immediately within the weekly withdrawal limit, in order to avoid any abuse of the instant withdrawal a 1% withdrawal fee is charged. The weekly withdrawal limit resets at the beginning of each cycle.

#### Borrowing rates

The Supercharger vaults earn yields from the borrowing interest paid by the sPMM pool manager.

The WOOFi sPMM liquidity pool is the only address whitelisted to borrow assets from the Supercharger vault with no collateral. The loan is initiated by the sPMM pool manager as needed. The rate of the uncollateralized loan is defined as follows:

Due to the lack of a market rate benchmark for uncollateralized non-stablecoin loans, the borrowing rate on non-stablecoins is calculated as if the sPMM pool manager were to get a collateralized non-stablecoin loan and then apply a multiplier (>1) according to the collateralization ratio. Because multiple platforms will be considered in the calculation, the final rate $$B$$ is based on the exponential moving average of calculated rates on various platforms.

When benchmarking a single platform $$i$$, the borrowing rate $$Bi$$ is decided by the following factors:&#x20;

* $$Xi$$: Overcollateralized borrowing rate of the non-stablecoin on the platform $$i$$

So, $$Bi=Xi\*Multiplier$$

When benchmarking multiple platforms, the final vault borrowing rate would be:&#x20;

$$B=ema(average(Bi))$$

{% hint style="info" %}
As an example, on AAVE the borrowing rate on ETH is 3% and the Multiplier is 105%. So if only benchmarking AAVE, the supercharger borrowing rate on ETH would be:

$$Bi$$ = 3% \* 105% = 3.15%
{% endhint %}

{% hint style="info" %}
Additional WOO rewards are allocated to vault depositors across all chains as additional incentives.&#x20;

***In order to receive WOO rewards, you need to perform one more step to stake the vault LP token i.e. weTOKEN under the "Rewards" tab.***
{% endhint %}

#### Impermanent loss

[Impermanent loss risk](https://finematics.com/impermanent-loss-explained/) exists when users provide liquidity in almost all DEXs. With WOOFi Earn vaults, users simply delegates the management of impermanent loss risk to the sPMM pool manager and earn yields from the borrowing interest.&#x20;

The WOOFi sPMM pool manager uses its own trading strategy to stay market neutral so that users can always withdraw the assets they originally deposit. The strategy, at a high level, works as following:

* **Bridging the liquidity between DeFi and CeFi** - WOOFi’s sPMM simulates the WOO X order book liquidity via a combination of tools including sPMM algorithm, onchain price feeds, and an automated hedging strategy. The sPMM pool manager holds positions both onchain and on WOO X, and the combined positions always stay market neutral.
* **Hedging the exposure** - When a swap is executed on WOOFi, e.g. swap USDC for WOO, the WOOFi liquidity pool effectively sells WOO for USDC. Once the transaction is final onchain, the sPMM pool manager then executes the reverse trade on WOO X, i.e. buying WOO with USDC. WOO X's trading fee structure makes it an ideal hedging venue.
* **Mitigating the IL risk** - There are a lot of nuances in the hedging strategy, but through this the sPMM pool manager will continue staying market neutral. That means even if the onchain liquidity pool is out of balance (i.e. IL), they can always make up the assets with the inverse position on WOO X during the settlement process for users to withdraw upon requests.

#### Risks when using WOOFi Earn vaults

WOOFi smart contracts are [audited](https://learn.woo.org/v/woofi-dev-docs/references/audits-and-bounties) and we carefully evaluate the security risks of the external smart contracts WOOFi interacts with. However, this does not mean that a vault is entirely risk-free.&#x20;

Risks specific to Earn vaults include:

* There is still a trust element in the Earn vault in its current form, where users allow the WOOFi sPMM pool manager to borrow the deposited assets with no collateral and manage them via providing liquidity in WOOFi Swap.&#x20;
* There is a risk of losses incurring during the sPMM pool manager's hedging process due to the delay or reorg in blockchains. However, the WOOFi sPMM pool manager has a strong track record of keeping the strategy healthy even in many extreme market conditions. Therefore, the sPMM pool manager will by default assume the risk with its trading strategy.

General risks of all vaults:

* WOOFi Earn vaults help users deposit assets into 3rd party DeFi protocols. As with any smart contract, the ultimate risk is that a user's funds can end up being exploited, stolen, or unable to be withdrawn. However, the team always takes security as the first priority when assessing the external smart contracts that WOOFi interacts with.
* In case of any smart contract exploit, an emergency process is in place to pull out users' funds from the external smart contract back to WOOFi Earn vaults to avoid/minimize the loss. Users will always be able to withdraw the funds proportionate to their share of the vault.


# WOO Stake

WOO holders can stake their WOO tokens on any supported chain and earn real yields in USDC.

Since the launch of v2, over $7M has been paid out as staking rewards, and the stakers have also enjoyed various airdrops such as $ZRO (LayerZero), $ARB (Arbitrum), $ORDER (Orderly Network), $OP (Optimism), $PEAR (Pear Protocol) with many more to come.

{% hint style="info" %}
Check more staking stats at: <https://dune.com/woofianalytics/woofi-staking>
{% endhint %}

WOO staking is uniquely designed to incentivize long-term holders and active users through an engaging system that combines NFTs and DeFi.

* Stake WOO from any supported chain and get the same yields in USDC
* Earn XP passively over time or boost it by completing recurring stake challenges, increasing your staking APR
* Complete stake quests to earn WOOFi booster NFTs, which can be burned to temporarily boost XP APR
* Get airdrops from Stake Surge from the XP earned and WOO staked
* No hard lockup, unstake anytime, but you will burn your hard-earned XP

#### Omnichain staking

Users' combined staking positions, XP, and staking rewards are managed on Arbitrum. With LayerZero integration, you can stake your WOO and compound it on any supported chain for added convenience.

Regardless of which chain you choose to stake your WOO on, the APR at which you earn USDC staking rewards will be the same. &#x20;

{% hint style="info" %}

* Crosschain transactions require extra gas costs from the source chain to cover Arbitrum's operations. Costs vary based on Arbitrum's current gas fees.
* The completion time for crosschain transactions depends on the source chain and network status. Usually, it takes only a few minutes, but initiating from some chains can take up to 20 minutes.
  {% endhint %}

#### XP&#x20;

When you stake WOO, you earn XP passively at **a base APR of 30%**. For example, staking 1,000 WOO for one year would earn 300 XP. XP is non-tradable but can be staked to boost your yield. For instance, 1 staked WOO plus 1 staked XP is equivalent to 2 staked WOO. However, when you unstake any WOO, an equal percentage of your staked XP will be burned. Staked XP increase your staking weight and offer perks like access to airdrops, fee discounts, and more.&#x20;

As stakers accumulate XP over time, there will be additional rules as the XP:WOO ratio increases to avoid too much inflation of XP.&#x20;

1. When XP:WOO (staked and pending) >= 0.5, XP APR will be 0 (if none of the challenges are completed)
2. When XP:WOO (staked and pending) >=1, base XP APR will be halved to 15% in addition to rule #1.

If you stake at least 1,800 WOO, you can boost the APR at which you earn XP up to a maximum of 76.05% by completing challenges that include: &#x20;

* Trade spot on WOOFi Swap (only when sPMM liquidity is used) or perpetual futures on WOOFi Pro&#x20;
* Earning with assets deposited into WOOFi  vaults
* Turning on the auto-compound feature (please be aware that you can’t claim staking rewards while this is enabled and you can’t disable it within 7 days)  

The status of each challenge is visible in the top-right corner and your XP APR will update one day after completing any of them. The amount you need to swap/trade and deposit in WOOFi Supercharger vaults to complete the challenges is determined by your staking level.

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

#### Quests & Boosters

Boosters are items that can be staked for a temporary boost to your XP APR. After the temporary boost is complete, the items are automatically burned. Boosters are ERC-1155 NFTs (this means they are compatible with many popular DeFi apps and wallets like OpenSea and MetaMask)

Boosters can be acquired by completing quests on the WOOFi Stake page or purchased from NFT marketplaces. There are three Booster rarities: Uncommon, Rare, and Epic. The rarer the Booster, the greater the yield effect. However, the boost effect diminishes as your staking level increases.

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

Note: XP generated while using Boosters is not removed once your Booster runs out, therefore making them a great way to make sure your staked WOO APR is higher than the average.

{% hint style="info" %}
Buy or Sell Boosters:

* [Sudoswap](https://sudoswap.xyz/#/browse/arbitrum/buy/0x0cccb28b1c47b2548cfaf1ccf27f1152f65a125e)
* [Opensea](https://opensea.io/collection/woofi-boosters)&#x20;
  {% endhint %}

#### Stake Surge

Stake Surge is another stake product for exciting new projects and strong ecosystem partners to have the opportunity to spotlight their products in front of the most enduring and loyal of WOO community members. In return, WOO stakers are rewarded with airdrop tokens. &#x20;

Through Stake Surge not only do stakers learn about the project, but they’re also heavily incentivized to try it out and complete actions such as swap, stake, delegate etc. For projects, that means more brand awareness, more token holders, and ultimately more people to champion your product. Everybody wins.

Stakers' airdrop is determined by their Surge Score. The higher your score, the more tokens you get, and there are 2 ways to up it:

1. Collect more XP from staking WOO
2. Complete tasks to unlock multiplier effects


# Perpetual futures

WOOFi Pro is a decentralized perpetual futures exchange based on a Limit Order Book (LOB) with deep liquidity and a CeFi-grade trading experience. Users can enjoy a frictionless onboarding process, deposit USDC collateral using various assets from any EVM chain, and closely replicate the experience of a CEX, all without requiring traders to entrust their assets to a centralized party.

WOOFi Pro is constructed on top of Orderly Network's highly performant, omnichain, permissionless decentralized exchange protocol and modular infrastructure. Orderly's shared infrastructure manages user collateral, available markets, liquidity provision, matching engine, risk engine, and trading fee structure for all applications built on top of it. This powerful infrastructure aligns seamlessly with WOO's extensive experience in building orderbook exchange trading interfaces. Combined with WOOFi's existing swap, earn, and stake features, it provides users with an all-in-one DeFi platform for all on-chain needs.

#### Quick links

* [WOOFi Pro app](https://dex.woo.org/)
* [APIs docs](https://docs-api-evm.orderly.network/#introduction)
* [Orderly Network](https://orderly.network/)


# Get Started

**Connect a wallet**

Before you can use WOOFi, you'll need to connect your wallet. Multiple wallets are supported but a popular choice is [MetaMask](https://metamask.io/) which can be downloaded for free as a Google Chrome extension. Other solid wallet choices include:

* [Rabby](https://rabby.io/)
* [Trust](https://trustwallet.com/)
* [Coinbase](https://www.coinbase.com/wallet)
* [Ledger](https://www.ledger.com/)

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

**Choose a network**

WOOFi supports multiple blockchains and you can switch between these in the upper right corner of the screen. Click the network you want to use from the drop-down list, confirm the change in your wallet, and you'll be good to go.  &#x20;

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

#### Approve tokens

When swapping a token with WOOFi for the first time, you'll need to give WOOFi permission to access and move the token from your wallet. This is standard practice in DeFi, and you'll need to sign a token approval prompt which costs a small fee. &#x20;

Metamask specifically will ask you to enter the number of tokens you're happy for WOOFi to have access to. Once you've entered this, you can then go ahead and execute your swap.

![](/files/kgip4k8xGvUQ9iagKN4Q)


# Swap

Step-by-step instructions on how to swap with WOOFi

To perform a swap in DeFi simply means to exchange one token for another.&#x20;

To do this with WOOFi you'll need to **a)** connect your wallet, **b)** select the blockchain on which you want to swap in the top right, and **c)** ensure you have money to cover the gas fee. Once you've met these three criteria, you're ready to configure your swap.

Use the drop-down menus **(red)** to choose the two tokens you want to swap. You can use the arrow **(purple)** to quickly switch the direction of your swap. The UI will then display a chart on the right-hand side for you to see the recent price action of your swap pair.&#x20;

<figure><img src="/files/BhIxPFWSafbOM3z0glDp" alt=""><figcaption><p>Choosing the tokens to swap</p></figcaption></figure>

Enter the number of tokens you want to swap using the input section **(orange)** or simply click the wallet icon **(green)** to swap all of the tokens you own. The number to the right of the wallet icon shows the current balance of the token in your wallet.&#x20;

<figure><img src="/files/NOCaHgPRpAB1CbFagErL" alt=""><figcaption><p>Inputting the amount of tokens to swap</p></figcaption></figure>

You can check key details about your swap including the number of assets you'll receive **(pink)**, the trading fee **(white)**, and the exchange rate of the two assets **(brown)**. This information will refresh automatically every 20 seconds.&#x20;

<figure><img src="/files/oVe8Z6Kza5xgiyUnSWwi" alt=""><figcaption><p>Checking key details of your swap</p></figcaption></figure>

Click the swap button when you're ready, and after you've double-checked the swap details, confirm the swap. If it's your first time swapping a token with WOOFi you'll need to give WOOFi permission to swap your tokens by signing a token approval prompt in your wallet.

<figure><img src="/files/TBbm1H1sOHi8VgVPObwC" alt=""><figcaption><p>Executing the swap</p></figcaption></figure>

Once the swap has been executed, the tokens will automatically appear in your wallet. You can check any pending transactions as well as your entire swap history by clicking the bell icon in the top-right corner.&#x20;

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


# Crosschain swap

A guide to moving tokens crosschain with WOOFi

Swapping crosschain with WOOFi is a breeze. Here's how to do it.

Select your source chain **(red)** and your destination chain **(blue)**. Then pick your input token and your output token from the drop-down menus **(orange)**.&#x20;

<figure><img src="/files/oRpDR7UAa9XDCaathkuM" alt=""><figcaption><p>Selecting the tokens and chains</p></figcaption></figure>

Now enter the number of tokens you want to swap in the input field **(green)**. This will enable you to see the paths that WOOFi will use to move token A on chain X to token B on chain Y **(white)**.

<figure><img src="/files/XbXyZrSUlPetZJ6qejzz" alt=""><figcaption><p>Entering the amount of tokens you want to move</p></figcaption></figure>

If you want to send tokens cross-chain to a different wallet, click the plus icon below the swap button and paste the destination address. Double-check to make sure it's correct, and click confirm. &#x20;

<figure><img src="/files/cVo4hSCbQijUcoaGfU0W" alt=""><figcaption><p>Send tokens to a different recipient address</p></figcaption></figure>

When you're ready, hit the swap button. If you don't have any gas money on the destination chain, click the tick icon (white) and WOOFi will make sure you arrive already fueled up. Use this window to review key info about your swap including the gas fee, trading fee, and more.

<figure><img src="/files/djWVx6h8i5wmcLi16Bl4" alt=""><figcaption><p>Arrive already fueled up</p></figcaption></figure>

Confirm the swap, sign the transaction in your wallet, and WOOFi will give you an estimated time until your transaction completes. You'll also be able to see in real-time the progress of your swap from start to finish. &#x20;

<figure><img src="/files/gcsZwpJZyk9LWGTsqoYO" alt=""><figcaption><p>Monitor the progress of your swap</p></figcaption></figure>

Once the transaction is complete, WOOFi will notify you, and your output token will automatically appear in your wallet on the new destination chain.

<figure><img src="/files/1DbmBgPh8IBVGNqsCOWt" alt=""><figcaption><p>Swap progress</p></figcaption></figure>


# How to stake WOO on WOOFi

Instructions on how to stake your WOO with WOOFi

To begin accumulating rewards, you'll first need to move your WOO onto one of the following blockchains supported by WOOFi Stake:

* Ethereum
* Arbitrum
* BNB Smart Chain
* Optimism
* Polygon PoS
* Avalanche

{% hint style="warning" %}
Video tutorial on staking your WOO&#x20;
{% endhint %}

{% embed url="<https://x.com/_woofi/status/1884896468647178373?s=46&t=P__4k0QR4iSbpFppUJhJrg>" fullWidth="false" %}
How to stake WOO onchain
{% endembed %}

There are multiple ways to move your WOO across chains, but we recommend swapping crosschain with WOOFi as it is the fastest and easiest method.&#x20;

Now head to [WOO Stake](https://woofi.com/swap/stake), connect your wallet, and select from the drop-down menu the blockchain on which you hold the WOO tokens.&#x20;

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

Enter the number of WOO tokens that you want to stake in the input field or just click the wallet icon to stake all of the WOO in your wallet. The stake button will light up - click it and approve the transaction.&#x20;

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

Your total staked WOO will update shortly after the transaction completes. Congrats, you are now passively earning USDC rewards and XP.  Your total rewards earned and the APRs at which you are earning USDC and XP are all displayed in a row. &#x20;

You automatically earn XP at 30% APR. Each XP that you stake counts as one WOO token and will increase your daily share of WOOFi protocol net fees. You can stake XP manually via the compound button, or automatically by turning on auto-compound. Your total staked XP will appear next to your staked WOO balance.

Track the USDC rewards and XP you've earned in the window on the right. You can claim these USDC rewards at any time by clicking the claim button or convert them into more staked WOO using the compound button.&#x20;

<figure><img src="/files/7YdNLQQPj0WnshqOVjOo" alt=""><figcaption></figcaption></figure>

To increase your share of WOOFi revenue, you can complete challenges that will boost the APR at which you earn XP to a maximum of 76.05%. These challenges include:

* Swapping on WOOFi or trading perps on WOOFi Pro (1.3x)
* Maintaining TVL in WOOFi Supercharger vaults (1.3x)
* Enabling auto-compound (1.5x)

If you want WOOFi to automatically swap your USDC rewards into WOO and stake them every day, turn on auto-compound. Note: you won't be able to claim staking rewards while auto-compound is enabled.

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

The 7-day trading volume and TVL thresholds required to activate your XP boosts are dictated by your WOOFi staking tier. The more WOO you have staked, the more volume you'll need to swap, and the more assets you'll need to keep deposited.

<figure><img src="/files/9IrC6daykSYmiOWDJT8S" alt=""><figcaption></figcaption></figure>

You can unstake any amount of WOO at any time, but please note that you will lose an equal percentage of XP. Click the unstake button, specify the amount you wish to unstake, and confirm the transaction in your wallet. &#x20;

{% hint style="info" %}
**Still have WOO staked in v1? Follow the** [**tutorial**](/user-guides/how-to-stake-woo-on-woofi/staking-migration) **to migrate and continue earning rewards.** &#x20;
{% endhint %}


# How to migrate from staking v1 to v2

There are two ways to migrate:

#### Auto migration

1. Go to the [Stake 1.0 page](https://woofi.com/swap/stakev1) and click "migrate"

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

2. A window will then pop up showing a series of steps

<figure><img src="/files/LKlBFXLSXluyTf1vN21Q" alt="" width="456"><figcaption></figcaption></figure>

3. Sign each transaction prompted in your wallet, and when you complete signing all the transactions go to [Stake 2.0](https://woofi.com/swap/stake) to check your stats
4. If the process is interrupted in the middle, you will need to manually migrate by following the steps below

#### Manual migration

1. Go to the Stake 1.0 page and use the "unstake" button to unstake your WOO
2. Use the "withdraw" button to withdraw the WOO into your wallet (note: the 7-day unstaking period and penalty fee have been waived so you can withdraw immediately after you unstake)

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

3. Go to the Stake 2.0 page and use the "approve" button to approve the smart contract to spend your WOO
4. Click "stake" to stake your WOO tokens and the balance displayed at the top will update in a few minutes.

#### Supercharger Rewards

Because xWOO was the LP token for v1 staking, Supercharger vaults rewards will be replaced with WOO tokens.&#x20;

Anyone who has assets in a WOOFi Supercharger vault needs to claim any xWOO rewards they have left before they can start earning WOO rewards. Please make sure to do this at your earliest convenience. You can see a blue "W" icon if you still have xWOO yet to be claimed.&#x20;


# How to stake on WOO X

Instructions on how to stake your WOO with a centralized exchange

Realizing that not all users want to manage their own private key and use DeFi protocols, WOO X built a centralized portal that allows users to stake WOO via the mobile or web app in a simple one-click experience.&#x20;

**How much is the yield?**

Yields are generated in USDC by protocol revenues, which then buys back WOO daily on behalf of the user. The rate fluctuates based on onchain volumes and the price of WOO - as volumes go up or the price of WOO decreases, more WOO is able to be purchased each day.

**Other important details**

Staked WOO can be withdrawn at any time, but requires a 24-hour settlement period for WOO X to aggregate all new deposits and withdrawals, and perform an onchain settlement.&#x20;

On the web app, check out WOO Staking in the navigation bar.&#x20;

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

On mobile, find the staking shortcut from the home page, or within My WOO.&#x20;

Users can deposit WOO to WOO X on most popular chains, including Ethereum, Arbitrum, BSC, Avalanche, and Solana. Once the deposit is confirmed, users can stake, and begin&#x20;

If you have more questions, check out the FAQ on WOO X: <https://support.woox.io/hc/en-us/articles/44759090386713--Staking-FAQ>


# How to use WOOFi Boosters

You can see the amount of Boosters of each rarity on the staking page. If you don't own any or want to sell yours, click the Sudoswap or Opensea icons which will take you to the marketplace.

<figure><img src="/files/hLVNUBVT7rSHAscsK6LL" alt="" width="271"><figcaption></figcaption></figure>

When boosting your XP APR, click the dock and select the Boosters you want to use. Boosters will be permanently burned once it's activated. Boosting effect is only activated from the 0 UTC the next day.

<figure><img src="/files/W4F0hiccnI7QKjJ41W67" alt="" width="271"><figcaption></figcaption></figure>

When it's activated you will see a glow effect around your XP APR dashboard.

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

Boosters are obtained by completing quests. You can find upcoming quests and the amount and rarity of Boosters as the reward for the quest on the staking page. Quests are first come, first served, which means the quest will be closed once all the Boosters are allocated. You will be able to claim the Booster when the quest ends.&#x20;

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


# How to earn yields from Earn vaults

An overview of how to earn single-sided yield with WOOFi

WOOFi is a great tool for earning passive yield without risk of impermanent loss.

Head to [WOOFi Earn](https://woofi.com/swap/earn) and connect your wallet. Here you'll find a dashboard with all the Earn vaults that WOOFi supports and other useful information like real-time APRs, your deposits, and the USD value of yields you've earned.      &#x20;

<figure><img src="/files/aSMiSoeoUOYrS6NElrSk" alt=""><figcaption><p>Understanding the WOOFi Earn dashboard</p></figcaption></figure>

Toggle 'hide zero balances' to display only the vaults which your wallet has assets to deposit into. You can also click the 'all chains' button to access a drop-down menu that allows you to see which vaults WOOFi supports on specific chains.&#x20;

<figure><img src="/files/1YYgaRJRhRQIjJei7TcT" alt=""><figcaption><p>Using filters</p></figcaption></figure>

To start earning yield, choose a vault and enter the number of tokens you want to deposit in the input field. Now click the deposit button and you will be prompted to approve a transaction in your wallet.  &#x20;

<figure><img src="/files/uKCBloqruieybkb9DLlT" alt=""><figcaption><p>How to deposit into a vault </p></figcaption></figure>

Congrats, you're now earning yield! To earn additional WOO rewards, proceed to stake the WOOFi Earn tokens you have just received in your wallet. You'll need to give WOOFi permission to access them first by clicking the approve button. You can claim these WOO rewards in the box located to the right of the UI.

<figure><img src="/files/cJqKZ0tM7GNWgb4QXPhm" alt=""><figcaption><p>How to earn additional WOO rewards</p></figcaption></figure>

You can keep track of the yield you've earned by clicking on the 'My vaults' tab.

<figure><img src="/files/maTHOXhQs7SlFqEyjuw4" alt=""><figcaption><p>How to see yield that you've earned</p></figcaption></figure>

To withdraw from any vault, you'll first need to unstake your WOOFi earn tokens (the ones you originally deposited to earn WOO rewards). Navigate to the withdraw tab, then click the 'max' button, and finally the 'unstake' button.

<figure><img src="/files/AyqcuF4AX8ySp2qBCx1q" alt=""><figcaption><p>Step 1 of withdrawing</p></figcaption></figure>

Now you'll need to request a withdrawal. Once you've done this, come back to the UI after 00:00 UTC on the following Monday and you'll be able to withdraw the tokens you originally deposited into your wallet.

<figure><img src="/files/uVQ6e9eJgmTWJaM585CK" alt=""><figcaption><p>Request a withdrawal</p></figcaption></figure>

To withdraw instantly, you can do so by toggling 'instant withdraw', specifying the amount, and clicking 'instant withdraw'. Note: this will incur a 1% fee.&#x20;

<figure><img src="/files/UQkCIk0NFwbVgOk8iuO6" alt=""><figcaption><p>Instant withdrawals</p></figcaption></figure>


# How to trade perps on WOOFi Pro

WOOFi Pro is an orderbook perp dex with up to 50x leverage, featuring omnichain deposits, CeFi-grade user experience, and advanced trading tools. WOOFi Pro utilizes [Orderly Network](https://orderly.network/)'s Infrastructure allowing for a seamless CEX-like experience while still maintaining self-custody of funds.&#x20;

## **Getting started**

### 1. Connect your wallet

Connecting to WOOFi Pro can take place using an email, social login such as Google, or a crypto wallet connected to any WOOFi-supported chain.

Method #1: Email or social login&#x20;

<figure><img src="/files/FSYcql5hmLEqSRS06xzL" alt=""><figcaption><p>Email or social login on WOOFi Pro</p></figcaption></figure>

Method #2: Crypto wallets

<figure><img src="/files/W9A1KIoaU8cHGWVmcuDV" alt=""><figcaption><p>Supported chains on WOOFi Pro, with more added frequently</p></figcaption></figure>

Once you've connected this wallet to WOOFi Pro, you will need to enable trading with an onchain transaction. Doing so will require two signature requests. Signing is free, won't spend any funds on gas, and is used to verify ownership and allow trading.&#x20;

<figure><img src="/files/jZAZHvrdlNasAIoPVwVD" alt=""><figcaption><p>Sign in and enable trading</p></figcaption></figure>

### 2. Deposit assets

You can find the “Deposit” button on both the the portfolio page and the trading page. From here, you can deposit assets using any of the supported chains.

<figure><img src="/files/LWESuz5gkIcQKV6QU9bf" alt="" width="563"><figcaption><p>deposit on portfolio page</p></figcaption></figure>

<figure><img src="/files/yWye8jmBGV8jCVY85flk" alt=""><figcaption><p>Deposit on trading page</p></figcaption></figure>

The deposit/withdraw screen shows the available assets on the available chains that you can deposit. Note that Ethereum, Arbitrum, Optimism, Mantle, Base, Mode, Story Protocol, SEI, Berachain, Sonic and Polygon POS chain have native vaults that don't require bridging. Other chain deposits may require bridging, which is all handled through WOOFi crosschain swaps. Note you will be required to approve USDC in order for you to be able to deposit.

<figure><img src="/files/0jopWkNZEjRSXuaClF0q" alt="" width="317"><figcaption><p>Deposit/withdraw screen</p></figcaption></figure>

### 3. Adjust max account leverage

You can adjust max account leverage on both the portfolio and trading pages, with options ranging from 1x to 100x. Note that using higher leverage increases the risk of liquidation, so make sure to thoroughly understand the risks.&#x20;

<div data-full-width="false"><figure><img src="/files/tOwEegjsuK6cqeYAPLUN" alt="" width="563"><figcaption><p>Max account leverage in portfolio page</p></figcaption></figure></div>

<figure><img src="/files/NnLZp8MDwD8fcUmuHLMV" alt=""><figcaption><p>Max account leverage in trading page</p></figcaption></figure>

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

### 4. Begin trading

Head to the 'Trading' tab where you can begin your trading experience. Choose your specific pair to trade, place market/limit orders, quickly prefill an order by clicking in the orderbook, monitor current positions, pending orders, and all the general features of a perp CLOB.&#x20;

If you'd like to trade using an API, go to the next section.

<figure><img src="/files/IcSiVtBUH8wZaM9WdEDh" alt=""><figcaption><p>WOOFi Pro UI</p></figcaption></figure>


# Glossary

Trading on WOOFi Pro

The following is an excerpt from Orderly Network's docs

**Glossary**

**Order Book**: A list of orders to buy or sell a particular asset, organized by price and quantity.

**Liquidity:** The amount of assets that are available to be traded on a particular exchange or market.

**Spread:** The difference between the highest price a buyer is willing to pay (bid) and the lowest price a seller is willing to take (ask).

**Basis Point (BP):** A basis point (bp) is a unit of measurement equal to one-hundredth of one percent (0.01%)

**Taker Fee:** A taker fee is a fee charged to traders who execute orders that immediately remove liquidity from the order book. This type of order is typically known as a market order.

**Maker Fee:** A maker fee is a fee charged to traders who place orders that add liquidity to the order book. This type of order is typically known as a limit order.

**Unsettled PnL:** The portion of a perp PnL yet to be settled. Perpetual positions are “settled” between traders, transferring USDC between winning and losing positions. Settlements are made by a trader.

**Maintenance Margin:** Maintenance margin is the minimum amount of collateral that must be held in a trader’s account to avoid liquidation. If a trader’s margin falls below the maintenance margin requirement, their position will be liquidated.

**Intial Margin:** Initial margin is the amount of collateral that must be deposited into a trader’s account to open a position. The initial margin requirement varies depending on the market.

**Funding Fee:** The funding fee is a periodic payment made between traders (on the long and short side) to ensure that perpetual positions remain fairly priced (close to market price of the underlying asset). The funding fee is calculated based on the difference between the index price and the mark price, as well as interest rate for leverage trading. More information of funding rates/fees can be found here.

**Cost Position:** The cost position is the average price at which a trader opened their position plus expenses (trading/funding fees). This is used to calculate the unrealized PnL of the position.

**Mark Price:** The Mark Price represents the best estimate of a Perpetual Futures contract value and prevents unnecessary liquidations that would potentially be caused by market manipulation: it is less volatile than the Index Price or Last Price. The mark price is the reference price for a perpetual contract. It is derived from the prices of the underlying asset on multiple spot exchanges. More information on how we calculate mark price can found here.

**Index Price:** For a given contract, the Index price is the volume-weighted average of the underlying asset prices listed on major spot exchanges. More information on how we calculate index price can found here.

**Last Price:** The Last Price refers to the last traded price.

**Open Interest:** Open interest is the total number of outstanding contracts for a particular futures contract. It is a measure of the depth of the market for the contract in USDC.

**Liquidation:** Liquidation refers to the forced closure of a trader’s leveraged position due to insufficient margin.

**Auto de-leveraging (ADL):** Auto de-leveraging (ADL) is a mechanism that automatically liquidates positions when their margin falls below a certain level if other liquidation mechanisms fail. ADL is designed to protect the exchange from losses in the event of a market crash. More details on how ADL works can be found here.

**Insurance Fund:** The insurance fund is a pool of funds that is used to liquidate positions when their margin falls below the MMR if liquidators don’t take over the position. The insurance fund is funded by liquidation fees and Orderly. More information on the Insurance Fund can be found here.


# Trading basics

Perpetual Futures Trading

A Perpetual Futures (Perps) contract is a derivative financial contract without an expiry date that allows traders to speculate on the underlying price movement with leverage, without owning that underlying.

### Key advantages of perps trading vs spot trading <a href="#key-advantages-of-perps-trading-vs-spot-trading" id="key-advantages-of-perps-trading-vs-spot-trading"></a>

1. **Possibility to long or short**: if you hold a token in the spot market, you can benefit only from its potential price appreciation. On the other hand, Perpetual Futures contracts allow you to profit from price movements in either direction: you can bet that the price of BTC will fall by entering a short BTC-PERP position and profit from its downtrend.
2. **Leverage**: if BTC price is at 30,000 USDC, on the spot market, you can only afford to buy 1 BTC if you have 30,000 USDC in your balance. However, with a 10x leverage on the BTC-PERP contract, you can open 1 BTC-PERP contract on WOOFi Pro with only 3,000 USDC as collateral. Perpetuals make trading **more capital efficient**.
3. **Liquidity:** Futures market volume surpasses by far spot trading volume, allowing users to access deeper liquidity and trade with a minimal price impact

### WOOFi Pro USDC Perpetual Futures contracts <a href="#orderly-usdc-perpetual-futures-contracts" id="orderly-usdc-perpetual-futures-contracts"></a>

WOOFi Pro offers USDC-based Perpetual Futures contracts. Collateral is in USDC and all perpetual contracts are quoted and settled in USDC.

### [​](https://orderly.network/docs/trade-on-orderly/trading-basics/perpetual-futures#cross-margin)Cross-margin <a href="#cross-margin" id="cross-margin"></a>

WOOFi Pro currently offers only cross-margin mode. As a trader, you can deposit USDC collateral and it will be shared across all open positions to calculate the margin ratio.

### [​](https://orderly.network/docs/trade-on-orderly/trading-basics/perpetual-futures#supported-leverages)Supported leverages <a href="#supported-leverages" id="supported-leverages"></a>

WOOFi Pro will enable the following leverages: 1x, 2x, 3x, 4x, 5x, 10x, 20x, and 50x.

### [​](https://orderly.network/docs/trade-on-orderly/trading-basics/perpetual-futures#position-mode)Position mode <a href="#position-mode" id="position-mode"></a>

WOOFi Pro currently allows only one-sided mode: traders cannot hold both long and short positions for a single Perpetual Futures contract.


# Order types

## Order Types

There are 5 order types on WOOFi Pro:

**MARKET:** It matches until the full size is executed. If the size is too large (larger than the whole book) or the matching price exceeds the price limit (refer to `price_range`), then the remaining quantity will be canceled.

**LIMIT:** Limit orders are orders with a specific buy or sell price. Unlike market orders, which trade immediately at the current price, a limit order gives you more control over the executed price.

**IOC (Immediate or Cancel):** It matches as much as possible at the order\_price. If not fully executed, then the remaining quantity will be canceled.

**FOK (Fill or Kill):** If the order can be fully executed at the order\_price, then the order gets fully executed otherwise would be canceled without any execution.

**POST ONLY:** If the order executes with any maker trades at the time of placement, then it will be canceled without any execution.

**REDUCE ONLY:** Executes buy or sell orders which only reduce a current position

**TP/SL(Take Profit or Stop Loss):** TP/SL orders are conditional orders designed to help manage your trading positions. These orders enable you to set predefined exit points to secure profits or limit losses in volatile markets. TP/SL orders are executed as market orders.

**BBO:** A BBO (Best Bid and Offer) order is a type of limit order that enables traders to place orders at the best available prices on the order book. BBO orders use dynamic and pre-defined options to capture the best available bid or ask prices. This makes BBO orders an efficient tool for traders to quickly capitalize on market opportunities with better execution prices.


# Trading Fees

## Trading Fees

Overview of trading fees

## [​](https://orderly.network/docs/trade-on-orderly/trading-basics/trading-fees#overview)Overview <a href="#overview" id="overview"></a>

Trading fees are the costs you pay to buy, sell, or trade assets on an exchange. These fees are charged as a percentage of the transaction value.

There are two main types of trading fees:

**Maker fees:** These fees are charged to traders who place orders that add liquidity to the market (not instantly filled orders that are added to the book), such as limit orders.

**Taker fees:** These fees are charged to traders who remove liquidity from the market, such as market orders.

## [​](https://orderly.network/docs/trade-on-orderly/trading-basics/trading-fees#how-fees-are-charged)How fees are charged <a href="#how-fees-are-charged" id="how-fees-are-charged"></a>

#### [​](https://orderly.network/docs/trade-on-orderly/trading-basics/trading-fees#perpetual-futures-fees)Perpetual Futures Fees <a href="#perpetual-futures-fees" id="perpetual-futures-fees"></a>

Perpetual Futures trading fees are charged after every trade in USDC and added to the cost position.

### Climbing fee tiers

WOOFi staked WOO boost your trading tier, granting access to reduced fees on WOOFi Pro. You can climb up tiers by either staking more WOO, or by simply hitting the 30 day volume requirement of that tier. Check your fee tier in <https://pro.woofi.com/en/portfolio/fee>.

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

See the WOO staking page below to learn more about staking WOO.

{% content-ref url="/pages/hmDKsXIyQ6WUBoxWyt0d" %}
[WOO Stake](/woofi/woo-stake)
{% endcontent-ref %}


# API broker onboarding

1. sign on WOOFi Pro and create an account following this [user guide](/user-guides/pro#getting-started)
2. provide your account ID

Go to "account" tab, and copy the account id in the "API trading" panel. Provide us with your account ID and this account will automatically receive referral fee on a daily basis.

<figure><img src="/files/k4bAIYS3EJ7PA2KkXwVO" alt="" width="375"><figcaption></figcaption></figure>

3. provide an referral code

The referral code must follow the format to be 4 to 10 characters long, only in upper case roman characters and numbers. e.g. "IMABROKER" Provide us with the referral code so we can set it up to identify the orders placed through your platform.&#x20;

4. tag your orders

When placing an order / algo order, you need to input the predefined referral code string into the order\_tag field in order for the system to capture the order for referral fee calculation.

Here are the docs about creating orders:

* [create order](https://orderly.network/docs/build-on-evm/evm-api/restful-api/private/create-order)
* [batch create order](https://orderly.network/docs/build-on-evm/evm-api/restful-api/private/batch-create-order)

5. receive commission

Once the account id and referral code is set up, you will be receiving commission in the account provided on a daily basis around 0UTC.&#x20;


# Affiliate program

### Join the WOOFi Pro affiliate program!

Your social media followers deserve the absolute best. Becoming a WOOFi Pro affiliate not only allows you to expand your brand, but you also receive 40% commission rates, and unlock exclusive perks!&#x20;

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

WOOFi is excited to announce the launch of its WOOFi Pro affiliate program - Aimed for a tight-knit community of reputable and trusted partners. We are focused on providing traders an uncompromising  decentralized exchange experience -  the seamless omnichain perpetual futures trading boasting the execution of a CEX and self-custody of a DEX.

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

### **How does it work?**&#x20;

As a WOOFi Pro affiliate, you can tap into an exciting opportunity to take part in out growth from an early stage and open the doors to your followers of a new era of decentralized trading. Become an affiliate, promote WOOFi Pro, earn commissions and more.

### What are the benefits of joining the WOOFi Pro affiliate program?

**Here’s what our WOOFi Pro affiliates can receive:**

* Competitive commission sharing
* 1:1 service with 24/7 support
* Exclusive trading competition and campaign support
* Social media and content support
* Access to VIP events and merch
* Being part of a small but high-quality affiliate team

### How do I apply for the WOOFi Pro affiliate program?

Simply fill in this form and we will be in touch!

{% embed url="<https://form.typeform.com/to/AYngPxc1?typeform-source=dex.woo.org>" %}

The form is also available within WOOFi Pro here: <https://pro.woofi.com/en/rewards/affiliate>


# API trading on WOOFi Pro

How to connect and use the API to trade perps

WOOFi Pro APIs can connect to third-party applications and allow you to develop your own tools. The API for WOOFi Pro has many similarities to the WOO X API, making it easy for experienced traders to quickly get started.

1\) Get **Account Id, Orderly Key** ( API Key ) and **Orderly Secret** ( API Secret )

* Go to [https://pro.woofi.com/en/portfolio/api-key](https://woofi.com/en/portfolio/api-key)
* Click "Create API key"
* Confirm and get the credentials.

<figure><img src="/files/cvUQFpLexrVpiDTDQTH7" alt=""><figcaption><p>Portfolio - API key</p></figcaption></figure>

<figure><img src="/files/Ieggq0KtDd1NGwkIgpRY" alt=""><figcaption><p>Confirm and get API key</p></figcaption></figure>

2\) Integrating the API

Detailed docs are available at <https://orderly.network/docs/build-on-evm/evm-api/introduction>

**WOOFi Pro Mainnet:**&#x20;

* supported network (deposit/withdraw) : Arbitrum One
* chain\_id = 42161
* broker\_id = woofi\_pro
* base endpoint = [https://api-evm.orderly.org](https://testnet-api-evm.orderly.org)

**WOOFi Pro Testnet:**&#x20;

* supported network (deposit/withdraw) : Arbitrum Goerli&#x20;
* chain\_id = 421613
* broker\_id = woofi\_pro
* base endpoint = <https://testnet-api-evm.orderly.org>

Testnet USDC coin faucet

* Go to <https://testnet-pro.woofi.com/en/trade/ETH_PERP>
* Click the "Get test USDC" button and wait few minutes, your WOOFi account will get the test USDC

<figure><img src="/files/P7LdX8fMTn0NpyX0WmtM" alt=""><figcaption><p>Get test USDC</p></figcaption></figure>

3\) Getting started with CCXT

WOOFi Pro is integrated with CCXT, a popular library for crypto traders looking to work with new APIs and multiple exchanges.&#x20;

{% embed url="<https://github.com/ccxt/ccxt>" %}

Find the WOOFi Pro page here: <https://docs.ccxt.com/#/exchanges/woofipro>


# FAQs


# Crosschain swaps

<figure><img src="/files/1psYF9rdDPCy2C79tqGq" alt="" width="375"><figcaption></figcaption></figure>

<details>

<summary>Why was I charged more than I sent?</summary>

Performing cross-chain swaps requires you to pay an additional amount of gas tokens on the source chain in order to cover the gas fees required to conduct operations (e.g. swap) on the destination chain. Depending on the chain, congestion, and any other variables that may increase gas prices (these are not set by WOOFi) the amount required will vary.&#x20;

We include the exact amount of additional gas tokens charged in our confirmation window when submitting a swap. These are paid directly to Stargate/Layerzero, therefore we are not in control and are unable to refund. Please make sure that you understand this and have an appropriate amount of funds available to avoid any failed transactions.

<img src="/files/fJ5OCPPVu4gh2m69Hd6H" alt="" data-size="original">

</details>

<details>

<summary>I submitted a swap but I have not received the tokens yet</summary>

Once you submit a cross-chain swap, you will be able to see the status of your swap via the transaction hash we provide.&#x20;

Typically it only takes a few minutes to complete a transaction. However, transactions CAN take longer in certain circumstances. This is completely reliant on how much congestion is being placed onto the layerzero network. Transactions from Polygon may also take slightly longer (\~20mins without congestion) due to fundamentally different settings on layerzero and the way the chain interacts. Please see How do I check the status of my swap? If you are interested in checking the chain yourself.

</details>

<details>

<summary>How do I check the status of my swap?</summary>

Click 'View status' where you will be taken to layerzero and you can see the status of your swap.&#x20;

* PENDING - Your transaction is still being processed and has not been finalised.&#x20;
* DELIVERED - Your transaction has been delivered to the destination chain.

<img src="/files/PHrcQlWm0gRhjGkXiHfW" alt="" data-size="original">

If you have modified the gas amount for your swap, then your transaction will only be processed once gas fees reach the level you input.

</details>

<details>

<summary>Why am I being quoted too much on gas prices?</summary>

If you’re sure that the gas fees displayed are not just because of congestion on the chain, then it is likely that this is because of an RPC issue in your wallet provider. These also happen on certain wallets when switching chains.&#x20;

To fix this problem, head to <https://chainlist.org/> and follow the steps there to change the RPC on the chain that you are trying to use.&#x20;

Once done, refresh our site and try again

If the above doesn't work, it might be because you simply don't have enough gas for the crosschain transaction, try having at least $8 (mainnet might require much more) and then see if the gas prices show more reasonably.&#x20;

</details>


# Earn vaults

<details>

<summary>How do I deposit into an Earn vault?</summary>

Supercharger vaults can be found under the "Earn" tab. These vaults are single-asset, meaning you only need the asset you are choosing to deposit in order to supply liquidity.&#x20;

For now, depositing into our Supercharger vaults is a 2-step process.&#x20;

**Step 1:** Enter the number of tokens you wish to supply and press the "Deposit" button (if this is your first time you may have to do 2 transactions, 1 to "Approve" and 2 the actual deposit.

![](/files/pca21KgzBgjBSNTJNK2U)

&#x20;![](/files/V3O63OAJkpJ13ZMe2nAt)

**Step 2: Once your tokens have been deposited, you will be required to stake those tokens in order to start receiving any yield. Here you enter the number of tokens you wish (usually by clicking "Max" as that is all of the recently deposited tokens) and then press the "Stake" button.**&#x20;

Once again this step may require 2 transactions if it is your first time interacting with the contract, if so you just need to press the "Approve" and then you will be able to stake.

![](/files/isXskqO9wspnhnNoSWDO)

</details>

<details>

<summary>How can I withdraw funds from Earn vaults?</summary>

There are two ways to withdraw your funds from Supercharger vaults.

* Instant withdrawal: you can instantly withdraw tokens (up to the limit) with a fee of 0.3%
* Request withdrawal (recommended): this is a two-step process and subject to a 7-day settlement cycle. You can request a withdrawal at any time. Upon the completion of settlement (every Monday), you need to perform another transaction to withdraw the tokens to your wallet. Find tokens available for withdrawals at the bottom of the "Withdraw" tab.

After you have requested a withdrawal, you will see a small icon next to the name of the token. &#x20;

Yellow: Your withdrawal is pending settlement which happens every Monday&#x20;

Green: Your funds are ready to be withdrawn (**Please note you need to go to the withdraw tab of the vault and click the "Withdraw" button at the bottom**)&#x20;

<img src="/files/JqRZ6QoQf8OhS7LkTLGr" alt="" data-size="original">![](/files/dtwA6BPS1ugQbZgVcif8)

</details>

<details>

<summary>What is BTC.b? How do I get it, and how do I earn yields in the Supercharger vault?</summary>

BTC.b is the wrapped BTC token operated by Avalanche on the Avalanche C-chain. You can convert BTC on the Bitcoin chain to BTC.b using the core wallet extension provided by Avalanche.

WOOFi has launched a BTC.b supercharger vault on Avalanche, where users can deposit single-sided BTC and earn passive yields paid in BTC itself and WOO.&#x20;

How to convert BTC to BTC.b? - <https://support.avax.network/en/articles/6081464-core-extension-how-do-i-convert-btc-to-btc-b>&#x20;

More information on BTC.b - <https://support.avax.network/en/?q=btc.b>

</details>

<details>

<summary>Why does my yield show a lower amount after claiming?</summary>

Our UI reflects the amount of yield accrued to the staked position within the contract. Bonus rewards (such as WOO and ARB) are claimed directly to your wallet.&#x20;

</details>

<details>

<summary>What's the difference between standard and instant withdrawals? </summary>

**Standard withdrawal** - There are two steps for standard withdrawals:&#x20;

1\) request

2\) withdraw.&#x20;

Users can request to withdraw their deposits with no fee or limit anytime except when the vault is under the settlement. Assets requested will be available for withdrawal as soon as the next settlement process completes, i.e. no later than 0:00 UTC Tuesday. The settlement process usually takes a lot less time (e.g. a few hours) if there aren't many withdrawal requests.&#x20;

**Instant withdrawal** - To meet users' urgent needs, at the beginning of each cycle the vault sets aside 10% of the TVL for instant withdrawals. Users can withdraw their deposits immediately within the weekly withdrawal limit, in order to avoid any abuse of the instant withdrawal a 1% withdrawal fee is charged. The weekly withdrawal limit resets at the beginning of each cycle.

</details>

<details>

<summary>Why am I being quoted too much on gas prices?</summary>

If you’re sure that the gas fees displayed are not just because of congestion on the chain, then it is likely that this is because of an RPC issue in your wallet provider. These also happen on certain wallets when switching chains.&#x20;

To fix this problem, head to <https://chainlist.org/> and follow the steps there to change the RPC on the chain that you are trying to use.&#x20;

Once done, refresh our site and try again

If the above doesn't work, it might be because you simply don't have enough gas for the crosschain transaction, try having at least $8 (mainnet might require much more) and then see if the gas prices show more reasonably.&#x20;

</details>


# Staking

<div data-full-width="false"><figure><img src="/files/tvv3L10nfgDfLuD20qpd" alt="" width="375"><figcaption></figcaption></figure></div>

<details>

<summary>What is XP?</summary>

Inspired by GMX, XP is a way to reward long-term holders without inflation. They are earned passively by every WOO staked at a base APR of 30%. e.g. 1,000 WOO staked for one year would earn 300 XP/

XP can be staked for fee rewards by using the "Compound" button, each XP will boost staking APR (paid in USDC) at the same rate as a regular WOO staked. However, unstaking any WOO will burn a portion of the XP you have earned. For example, a user who unstakes 10% of their total staked WOO will also lose 10% of their accumulated XP.

As stakers accumulate XP over time, there will be additional rules as the XP:WOO ratio increases to avoid too much inflation of XP.&#x20;

1. When XP:WOO (staked and pending) >= 0.5, XP APR will be 0 (if none of the challenges are completed)
2. When XP:WOO (staked and pending) >=1, base XP APR will be halved to 15% in addition to rule #1.

</details>

<details>

<summary>How does crosschain staking work?</summary>

Users’ combined staking positions, XP, and staking rewards are operated on Arbitrum.&#x20;

Thanks to an integration with LayerZero, you can stake your WOO and compound it on any supported chain for extra convenience.

The crosschain messaging involved means that transactions will require additional gas tokens to cover the operations on Arbitrum, and transaction time may vary according to the source chain and network status. (Note: transactions with Polygon as the source chain could take up to 20 mins.)

</details>

<details>

<summary>Does APR vary across chains? Where does the yield come from?</summary>

Regardless of which chain you choose to stake your WOO on, the APR at which you earn USDC staking rewards will be the same.&#x20;

The USDC rewards come from WOOFi protocol net revenue - 80% of which are gathered on Arbitrum every Monday and given to WOO stakers over a 7-day period.&#x20;

WOO X  also shares 0.1 bps of all trade volume with WOO stakers.&#x20;

</details>

<details>

<summary>How can I maximize the staking APR?</summary>

If you stake at least 1,800 WOO, you can boost the APR at which you earn XP up to a maximum of 76.05% by completing challenges that include: &#x20;

* Trade spot on WOOFi Swap (only when sPMM liquidity is used) or perpetual futures on WOOFi Pro&#x20;
* Earning with assets deposited into WOOFi Supercharger vaults
* Turning on the auto-compound feature (please be aware that you can’t claim staking rewards while this is enabled and you can’t disable it within 7 days)  

The status of each challenge is visible in the top-right corner and your multiplier points APR will update one day after completing any of them. The amount you need to swap and deposit in WOOFi Supercharger vaults to complete the challenges is determined by your staking tier (please see below).

![](/files/xoCvcigyQppYvy7xa7qw)

</details>

<details>

<summary>What are WOOFi Boosters?</summary>

Boosters are items that can be staked for a temporary boost to your XP APR.

Consumable NFTs that can be earned through quests and then staked and burned to temporarily boost yield. The rarity of the NFT will dictate the size of the boost.![](/files/4fXKkB5lRvq0ZoRD4IJq)

</details>

<details>

<summary>How do I get Boosters?</summary>

Boosters can be acquired by completing quests on the WOOFi Stake page or purchased from NFT marketplaces.

There are three Booster rarities:&#x20;

* Uncommon
* Rare
* Epic

The rarer the Booster, the greater the yield effect. However, the boost effect diminishes as your staking level increases.

</details>

<details>

<summary>Why am I being quoted too much on gas prices?</summary>

If you’re sure that the gas fees displayed are not just because of congestion on the chain, then it is likely that this is because of an RPC issue in your wallet provider. These also happen on certain wallets when switching chains.&#x20;

To fix this problem, head to <https://chainlist.org/> and follow the steps there to change the RPC on the chain that you are trying to use.&#x20;

Once done, refresh our site and try again

If the above doesn't work, it might be because you simply don't have enough gas for the crosschain transaction, try having at least $8 (mainnet might require much more) and then see if the gas prices show more reasonably.&#x20;

</details>

<details>

<summary>Why didn't my swap volume count for my trading volume challenge?</summary>

To complete the 14 day trading volume challenge via Swap, your trade must be routed through WOOFi liquidity.&#x20;

Tokens that are supported by our sPMM will showcase our logo in the swap menu.&#x20;

&#x20;![](/files/qeak7PNTxjeEmG6qys0e)

</details>


# Pro (Perpetual futures)

#### **Deposit / Withdraw**

<details>

<summary>Deposit not showing</summary>

If you've seen that your deposit has processed on chain (by checking <https://layerzeroscan.com/>) but its not yet reflected try the following:

First of all, find devTool -> application -> local storage -> <http://dex.woo.org/> -> right click -> clear, and check again.

If it still doesn’t work. It may be an issue regarding your network speeds. Please check the lower-right corner of trading page where there’s a network icon, and if it’s not a green color then please disable any VPN you may have active. Else try to connect through a more stable network.

</details>

<details>

<summary>What's the difference between bridgeless deposit and crosschain deposit?</summary>

Ethereum, Arbitrum, Optimism, Mantle, Base, Mode, Story Protocol, SEI, Berachain, Sonic and Polygon POS chain have native vaults that don't require bridging. If you want to avoid additional fees, please deposit USDC on any chain with the tag "Lowest fee".

When using any asset other than USDC, the asset will be swapped and/or bridged via WOOFi  and there will be swap fee and additional gas fee for crosschain messaging (unless on a native vault chain).&#x20;

Other chain deposits may require bridging, which is all handled through WOOFi crosschain swaps.&#x20;

Note you will be required to approve USDC in order for you to be able to deposit.

<figure><img src="/files/El01UdRNqyVyR4eXVkvX" alt=""><figcaption><p>Some of the deposit chains</p></figcaption></figure>

</details>

<details>

<summary>Why was I charged more than I sent?</summary>

Performing crosschain transaction requires you to pay an additional amount of gas tokens on the source chain in order to cover the gas fees required to conduct operations (e.g. swap asset and deposit) on the destination chain. Depending on the chain, congestion, and any other variables that may increase gas prices (these are not set by WOOFi) the amount required will vary.&#x20;

We include the exact amount of additional gas tokens charged in our confirmation window when submitting a cross chain deposit. These are paid directly to Stargate/Layerzero, therefore we are not in control and are unable to refund. Please make sure that you understand this and have an appropriate amount of funds available to avoid any failed transactions.

![](/files/SDCyPjU3XRp9OHtXP5Ka)

</details>

<details>

<summary>I submitted a crosschain deposit but I have not received the tokens yet</summary>

Once you submit a cross chain deposit, you will be able to see the status of your deposit via the transaction link on the swap confirming pop-up.&#x20;

Typically it only takes a few minutes to complete a transaction. However, transactions CAN take longer in certain circumstances. This is completely reliant on how much congestion is being placed onto the Layerzero network. Transactions from Polygon may also take slightly longer (\~20mins without congestion) due to fundamentally different settings on Layerzero and the way the chain interacts.

</details>

<details>

<summary>How do I check the status of my swap?</summary>

Clicking 'View status' will take you to layerzero/scan explorer revealing the status of your swap.&#x20;

* PENDING - Your transaction is still being processed and has not been finalized.&#x20;
* DELIVERED - Your transaction has been delivered to the destination chain.

![](/files/VdSNUamZCn9KcYODZPGI)

If you have modified the gas amount for your swap, then your transaction will only be processed once gas fees reach the level you input.

</details>

<details>

<summary>If a crosschain deposit fails, how can I retrieve my funds?</summary>

If a cross-chain deposit fails, we will refund your funds to your address. If the failure occurs before the completion of the bridge, the funds will be returned to the chain from which you initiated the transaction. If the failure happens after the bridge is completed, the funds will be returned to the same address on your target chain.&#x20;

Please note the refund could be in another assets, typically it will be refunded with the assets used in the bridging process, such as stablecoins or ETH.

</details>

<details>

<summary>Why am I being quoted too much on gas prices?</summary>

If you’re sure that the gas fees displayed are not just because of congestion on the chain, then it is likely that this is because of an RPC issue in your wallet provider. These also happen on certain wallets when switching chains.&#x20;

To fix this problem, head to <https://chainlist.org/> and follow the steps there to change the RPC on the chain that you are trying to use.&#x20;

Once done, refresh our site and try again

If the above doesn't work, it might be because you simply don't have enough gas for the crosschain transaction, try having at least $8 (mainnet might require much more) and then see if the gas prices show more reasonably.&#x20;

</details>

####


# What is WOO

WOO is a hyper-reflexive application token that scales with crypto adoption. The token is fueled by an ecosystem of blockchain-powered consumer apps that democratize financial interactions, connecting users with opportunities through intuitive user experience.

#### What are the key utilities and characteristics driving WOO adoption?

* Deep integrations, such as fee discounts and staking, within ecosystem applications
* Airdrops and rewards from eco partners and innovation hub projects
* Sustainable ‘real yield’ from staking
* Ample liquidity across top centralized and decentralized exchanges&#x20;
* Capped and deflationary total supply via token burning
* Low emissions and unlocks

#### What gives WOO reflexivity to scale with crypto adoption?

* Sensitivity to market trends: WOO is unique in that apps focused on liquidity, trading, and investment capture volume and users from any trend, whether social, meme, gaming, AI, or more conventional crypto assets. As long as user activity and volumes increase, the WOO token benefits.&#x20;
* Infra-agnostic: WOO applications pioneered the omni-chain experience and captures value from dozens of blockchain networks, meaning its success is not tied to the users, TVL, or security of any single infrastructure piece.&#x20;
* Futureproof: New technologies, such as AI agents and language models, can easily be integrated into the ecosystem of applications, giving users an ever-evolving UX.

#### What applications are in the WOO ecosystem?

The WOO ecosystem includes an all-inclusive DeFi platform, a dynamic CeFi exchange, and an array of innovative ecosystem projects with a shared goal of turbocharging the utility, value accrual, and liquidity of WOO.&#x20;

* [**WOOFi**](https://fi.woo.org) is an omnichain platform featuring swaps, earn, and staking. It aims to make DeFi easy for the masses.&#x20;
* [**WOOFi Pro**](https://dex.woo.org/) is an onchain perpetual futures exchange, merging the convenience of DeFi with the liquidity and performance of a centralized exchange.
* [**WOO X**](https://x.woo.org) is a centralized exchange providing best-in-class liquidity and price execution, with a powerful frontend featuring fully customizable modules for workspace customization.&#x20;
* [**Innovation Hub**](https://woo.org/blog/woo-launches-an-innovation-hub-with-an-initial-focus-on-the-btc-ecosystem-and-diversifying-across-top-growth-verticals) is an initiative to grow the number of WOO-aligned projects and create a powerful flywheel effect as more high-quality builders leverage the token as a core component.&#x20;

{% embed url="<https://www.youtube.com/watch?v=jLUAzogTGts>" %}

### **WOO token address**

WOO is a utility token solely issued on Ethereum: [0x4691937a7508860f876c9c0a2a617e7d9e945d4b](https://etherscan.io/address/0x4691937a7508860f876c9c0a2a617e7d9e945d4b)

The token has been permissionlessly bridged onto multiple blockchains. [WOOFi](https://woofi.com) and [WOO X](https://x.woo.org) can be used to freely bridge WOO across various blockchains to improve the user experience.

<details>

<summary>WOO Addresses on other chains</summary>

* Arbitrum: [0xcAFcD85D8ca7Ad1e1C6F82F651fA15E33AEfD07b](https://arbiscan.io/address/0xcAFcD85D8ca7Ad1e1C6F82F651fA15E33AEfD07b)
* Solana (LayerZero OFT): [Dz8VutERqbHR2aFL5A3s1Ky4dG1unJT1jUFXXPaY9ytX](https://solscan.io/token/Dz8VutERqbHR2aFL5A3s1Ky4dG1unJT1jUFXXPaY9ytX)
* Base (LayerZero OFT): [0xF3df0A31ec5EA438150987805e841F960b9471b6](https://basescan.org/address/0xF3df0A31ec5EA438150987805e841F960b9471b6)
* BNB Smart Chain: [0x4691937a7508860f876c9c0a2a617e7d9e945d4b](https://bscscan.com/address/0x4691937a7508860f876c9c0a2a617e7d9e945d4b)
* Avalanche C-chain: [0xabc9547b534519ff73921b1fba6e672b5f58d083](https://snowtrace.io/token/0xabc9547b534519ff73921b1fba6e672b5f58d083)
* Polygon PoS: [0x1B815d120B3eF02039Ee11dC2d33DE7aA4a8C603](https://polygonscan.com/address/0x1b815d120b3ef02039ee11dc2d33de7aa4a8c603)
* OP mainnet: [0x871f2F2ff935FD1eD867842FF2a7bfD051A5E527](https://optimistic.etherscan.io/address/0x871f2F2ff935FD1eD867842FF2a7bfD051A5E527)
* zkSync Era (LayerZero OFT): [0xF38583e662d3DC8bBE9ce791f06E1Dd46800AaaF](https://era.zksync.network/address/0xF38583e662d3DC8bBE9ce791f06E1Dd46800AaaF)
* Linea (LayerZero OFT): [0xF3df0A31ec5EA438150987805e841F960b9471b6](https://lineascan.build/address/0xF3df0A31ec5EA438150987805e841F960b9471b6)
* Mantle (LayerZero OFT): [0xF3df0A31ec5EA438150987805e841F960b9471b6](https://mantlescan.xyz/address/0xF3df0A31ec5EA438150987805e841F960b9471b6)
* Merlin Chain (LayerZero OFT): [0xAd6cA80Fe4D3c54f6433fF725d744772AaE87711](https://scan.merlinchain.io/token/0xAd6cA80Fe4D3c54f6433fF725d744772AaE87711)
* Sonic Chain(LayerZero OFT)

&#x20;      [0xF3df0A31ec5EA438150987805e841F960b9471b6](https://sonicscan.org/address/0xF3df0A31ec5EA438150987805e841F960b9471b6)

* NEAR: [4691937a7508860f876c9c0a2a617e7d9e945d4b.factory.bridge.near](https://explorer.mainnet.near.org/accounts/4691937a7508860f876c9c0a2a617e7d9e945d4b.factory.bridge.near)

</details>

{% hint style="danger" %}

* ONLY the WOO token on Ethereum is the canonical token contract which is immutable
* WOO on other chains are IOUs or wrapped tokens backed by the same amount locked in the corresponding Ethereum smart contracts
* Holding WOO on chains other than Ethereum expose you to the bridge risks, which means there is still risk you are not able to redeem the underlying WOO on Ethereum
  {% endhint %}


# Why should I hold WOO

### 1. Value accrual with real yields from sustainable protocol revenue

#### 80% of WOOFi's net fees are paid to WOO stakers in USDC

WOO tokens can be [staked](/user-guides/how-to-stake-woo-on-woofi) on WOOFi to earn yields from the fees of protocol revenue. 80% of WOOFi's net revenue from swap and perps trading is streamed to stakers every second, paid in **cold, hard USDC**.&#x20;

The longer you stake and more active you use WOOFi, the more rewards you earn.&#x20;

👉🏻 [WOOFi staking dashboard](https://dune.com/woofianalytics/woofi-staking)

### 2. Airdrops, incentives for WOO stakers & holders

#### **WOOFi staker airdrops**

WOO stakers have benefited from a series of airdrops and ecosystem incentives by simply staking WOO or using the WOOFi products. e.g. LayerZero (ZRO), Orderly Network (ORDER), Arbitrum (ARB), Optimism (OP), Pear Protocol (PEAR).&#x20;

#### **WOO yield farming on WOO X**

WOO X continuously offers yield farming vaults where users can earn a wide range of tokens by depositing WOO tokens.&#x20;

### 3. Deflationary via token buyback and burn

Starting June 2024, an equal amount of WOO bought back through staking rewards will be burned monthly. Currently, over $5M USDC is paid out to stakers. ***To see more tokens being burned, consider staking on*** [***WOOFi***](https://fi.woo.org/) ***and compounding your rewards.***&#x20;

The burned tokens will come from the eco rewards allocation, with plans to optimize this mechanism to tie it to the growth of the entire WOO ecosystem.

👉🏻 [WOO buyback and burn dashboard](https://dune.com/woofianalytics/woo-buyback-and-burn)

### 4. Robust token utilities in the WOO ecosystem and broader DeFi

#### **Reduced fee rate of perps trading on WOOFi Pro**

By staking WOO and earning XP, users can climb up to tier 5 fee rate which is equivalent of $100M 30-day trading volume.

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

#### **Enjoy privileges in WOO X built for traders with full transparency**&#x20;

**Trading benefits**

WOO can be staked to unlock the Zero Fee Zone, fee discounts on perps and API trading, referral bonuses, free withdrawals, and other benefits on [WOO X](https://x.woo.org).&#x20;

Trading institutions generating large volumes on WOO X can stake WOO tokens based on their volume and trading requirements to receive increased API trading rate limits and fee reductions.

**Stakers on WOO X currently receive base yields as well as benefits in future product releases, such as:**

* increased allocation to exciting new launchpad projects - more details to come
* access to social trading features on WOO X to emulate highly professional trading strategies from top-performing traders
* access to institutional-grade earn products

#### Other protocols

WOO is integrated into many DeFi protocols where the token holders benefit by supplying their precious WOO tokens to earn yields, borrow and lend or provide liquidity. Be a DeFi chad by holding the productive asset.

A few highlights from partner protocols:

{% hint style="warning" %}
Please explore the applications with caution, since the integration with WOO token is permissionless users assume their own risk when using third-party applications.

We are not responsible for your access to these platforms and shall have no liability whatsoever in connection with your use of such third-party protocols.&#x20;
{% endhint %}

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td>Kamino Finance</td><td>LP in WOO/jitoSOL pool</td><td>Solana</td><td><a href="https://app.kamino.finance/liquidity/4AqWR3FY8FSnTRBf3BNcEX852Tzb8YKuYMdhKuCLMTCo">https://app.kamino.finance/liquidity/4AqWR3FY8FSnTRBf3BNcEX852Tzb8YKuYMdhKuCLMTCo</a></td><td><a href="/files/WnFhhQnAUkoVxPjBDJKU">/files/WnFhhQnAUkoVxPjBDJKU</a></td></tr><tr><td><strong>Trader Joe</strong></td><td>LP in WOO/ETH pool</td><td>Arbitrum</td><td><a href="https://traderjoexyz.com/arbitrum/pool/v22/0xcafcd85d8ca7ad1e1c6f82f651fa15e33aefd07b/ETH/25">https://traderjoexyz.com/arbitrum/pool/v22/0xcafcd85d8ca7ad1e1c6f82f651fa15e33aefd07b/ETH/25</a></td><td><a href="/files/arGoOEJg7EDNLFOMc7Ev">/files/arGoOEJg7EDNLFOMc7Ev</a></td></tr><tr><td><strong>PancakeSwap</strong></td><td>LP in WOO/ETH pool</td><td>Ethereum</td><td><a href="https://pancakeswap.finance/farms?chain=eth">https://pancakeswap.finance/farms?chain=eth</a></td><td><a href="/files/Ut6a7tnBfpZ6x32Flv2M">/files/Ut6a7tnBfpZ6x32Flv2M</a></td></tr><tr><td><strong>Silo</strong></td><td>Borrow and lend with WOO</td><td>Arbitrum</td><td><a href="https://app.silo.finance/silo/0x5C2B80214c1961dB06f69DD4128BcfFc6423d44F">https://app.silo.finance/silo/0x5C2B80214c1961dB06f69DD4128BcfFc6423d44F</a></td><td><a href="/files/E9NPcXKEPpcz1FvDw84J">/files/E9NPcXKEPpcz1FvDw84J</a></td></tr><tr><td><strong>Stargate</strong></td><td>LP in WOO bridge pool</td><td>Multiple chains</td><td><a href="https://stargate.finance/pool">https://stargate.finance/pool</a></td><td><a href="/files/k1hGAmWTO7KvdgY541ag">/files/k1hGAmWTO7KvdgY541ag</a></td></tr><tr><td><strong>BitGenie</strong></td><td>Stake WOO to earn $WISH</td><td>Merlin chain</td><td><a href="https://www.bitgenie.io/staking">https://www.bitgenie.io/staking</a></td><td><a href="/files/NwzLygmaY8O6xjj5IJgt">/files/NwzLygmaY8O6xjj5IJgt</a></td></tr></tbody></table>

### 5. Ample liquidity across CeFi and DeFi

WOO is listed across almost all major CeFi platforms, see [the full list](https://www.coingecko.com/en/coins/woo).

On DeFi, you can buy or sell WOO on Uniswap or Pancakeswap on Ethereum, and Traderjoe on Arbitrum.


# Tokenomics

An overview of the latest circulating versus locked supply, with vesting terms for full transparency

The WOO token had its token generation event (TGE) in October of 2020, and then embarked on a four year vesting journey to its current state. At launch it had the following characteristics:&#x20;

* Maximum Supply: 3,000,000,000
* Initial Circulating Supply: 91,200,000
* Seed Round Price: 0.01 USDT
* Private Round Price: 0.02 USDT
* Public Round Price: 0.03 USDT

&#x20;The original distribution was announced as follows:&#x20;

| Allocation             | Percent | Tokens        |
| ---------------------- | ------- | ------------- |
| Ecosystem              | 50%     | 1,500,000,000 |
| Team                   | 20%     | 600,000,000   |
| Seed and private sales | 20%     | 600,000,000   |
| Advisor                | 5%      | 150,000,000   |
| Liquidity management   | 5%      | 150,000,000   |
| Total                  | 100%    | 3,000,000,000 |

Over the four years since TGE, the majority of the tokens have entered the supply, according to the vesting schedule outlined at launch. 772m tokens, roughly 26% of the total supply, has been burned. As of Q3, 2024, the circulating supply was 1.9b out of a total supply of 2.2b, leaving a circulating supply to fully-diluted (FDV) ratio of 89%. \
\
With legacy vesting set to expire in Q4 of 2024, WOO's inflation rate should drop below 5%. <br>

#### Achieving better ecosystem alignment

In Q3, 2024, adjustments were made to improve investor confidence and increase accountability, setting a path for decentralized governance. 300m tokens were locked behind event-based outcomes, meaning the tokens won't be accessible until a decentralized treasury management system was in place, and the FDV had reached specific thresholds (depicted below).&#x20;

<figure><img src="/files/sZNA04BYadiOknqVTlVN" alt=""><figcaption><p>Tranches do not unlock until the FDV reaches the threshold in column 2 and decentralized governance is established. Until then, the tokens are effectively out of the supply.</p></figcaption></figure>

The remaining ecosystem tokens were earmarked for growth by individual entities in the ecosystem, who are responsible for the use and reporting of these tokens.&#x20;

* Ecosystem: 75m WOO to be used for ecosystem-wide campaigns, developer grants, innovation hub initiatives, and partnerships that add utility to WOO
* WOO X: 65m WOO to give the flagship centralized exchange growth and liquidity incentives
* WOOFi: 45m WOO for user growth campaigns benefiting the Swap, Earn, Stake, and Pro applications&#x20;
* WOO company treasury: 180m for future acquisitions, investors, hiring, and strategic partnerships

&#x20;As these tokens have no vesting, they are classified in circulation, and will have regular updates on usage in the WOO quarterly report.&#x20;

\
The wallets can be monitored below:&#x20;

<table><thead><tr><th width="312">Wallet</th><th>Tokens</th><th>Status</th></tr></thead><tbody><tr><td><a href="https://etherscan.io/address/0x3592db444ab93FF0d365B938694654b3851BD60A">Ecosystem locked tranche wallet</a></td><td>300,000,000</td><td>Locked, behind event-based outcomes</td></tr><tr><td><a href="https://etherscan.io/address/0xfb8E0D79b725A3037d69a9BB85C25aC3D7dB756C">Ecosystem growth</a></td><td>75,000,000</td><td>In circulation</td></tr><tr><td><a href="https://etherscan.io/address/0x8B25B92Df08EcFC51c8F81d10f89eDaFf0444EE5">WOO X growth</a></td><td>65,000,000</td><td>In circulation</td></tr><tr><td><a href="https://etherscan.io/address/0x23D93413f6dEa80d1F8F9273bEc2Ddd75b243450">WOOFi growth</a></td><td>45,000,000</td><td>In circulation</td></tr></tbody></table>

More updates will continue in 2024 as WOO pushes to increase transparency and accountability, while generating more utility, reducing inflation, and creating more adoption of the token.&#x20;


# Community initiatives

Find out how to get involved

The WOO ecosystem is more than a platform—it’s a global network of traders, builders, creators, and risk-takers who believe the financial system needs a reset.

Whether you’re here to learn, earn, trade, or create—this is how you get started:

### Join the Core Channels

1. Telegram – Local hubs, campaign drops, alpha leaks

* [Global](https://t.me/woo_english/246812)

2. Discord – Trading ideas, casual discussion, investment ideas

* [The Cantina ](https://discord.gg/cantina)

3. Twitter

* [@WOO\_X](https://x.com/woo_x_official)
* [@\_WOOFi](https://x.com/_WOOFi)
* [@WOOcommunity\_ZH](https://x.com/WOOcommunity_zh)

4. [Instagram ](https://www.instagram.com/win_with_woo/)
5. [TikTok](https://www.tiktok.com/@woo_eco)
6. [YouTube](https://www.youtube.com/@WOO_ecosystem)

### Ways to Contribute

1. &#x20;Join a community
2. Become a WOO Force member
3. Learn about growing a regional community<br>

> Reform isn’t passive. It’s a network you join, a system you help build.

> Let’s get to work.


# WOO Force

&#x20;WOO Force: Where Builders, Traders, and Operators Level Up

WOO Force is our elite contributor program—designed for those who don’t just watch the space, they shape it. Whether you’re a trader, creator, community builder, or strategist, this is where you plug in to make an impact and grow alongside the WOO ecosystem.

#### What You’ll Get

* Access to private trading sessions with elite contributors
* Alpha, strategy, and product updates—direct from the WOO team
* Referral tier upgrades + revenue sharing (up to 20%)
* Limited-edition merch and IRL meetups
* A direct line to career opportunities in marketing, growth, and ops

#### What You’ll Do - some examples of how you might contribute

* Attend calls and participate in events
* Create content - educational or just shitposting
* Help identify and recruit new users and partners
* Host meetups or digital activations
* Give insights and feedback to the team
* Hang out and vibe

#### Who We’re Looking For

* Active WOO users and holders&#x20;
* Connected in the crypto community (Telegram, X, Discord)
* Self-starter with initiative and strong communication
* A vibe that fits the culture: smart, grounded, no hype
* Bonus: strong trading instincts or content creation skills

#### ⚡️ Apply Now

👉 [Apply to WOO Force](https://docs.google.com/forms/d/e/1FAIpQLSfc6twq60aM-jcrienzx4DlkiVJrxTGOmXrUCRthZOwZhnSbQ/viewform?pli=1)

For more details, read the full breakdown:

📄 [WOO Force Program Overview (Google Doc)](https://woox.io/blog/join-the-woo-force)

***

Want to be part of something smarter than hype and louder than noise?

Join the Force. Build what comes next.


# Community managers

### **Build powerful connections as a regional leader - lead locally, connect globally with WOO**

We’re valuing progress over hype and building real value, culture-driven branding, and user-friendly products that actually matter.

As a WOO Regional Leader, you will be at the forefront of this mission, growing your network, uplifting your local community and helping shape the future of crypto with a project that puts people first.&#x20;

💎 The Pillars of Our Reformation:

* Sustainable tokenomics
  * Staking
  * USDC yields
  * Low inflation
  * Buybacks
* Content&#x20;
  * Videos
  * Education
  * Entertainment
* Regional community growth&#x20;
  * Social media
  * Online/offline events
* Product growth<br>

🌍 YOUR MISSION AS A REGIONAL COMMUNITY MANAGER (RCM):

A. Build and shape your network

✅ Grow your army—Telegram, Discord, wherever your people lurk.

✅ Host epic AMAs, livestreams, and debates—make them unmissable.

✅ Recruit lieutenants—find local influencers, traders, and super-users to spread the word. Up to 40% referral commission for WOO Frontliners.<br>

B. CONTENT THAT GOES VIRAL

✅ Localize global content—adapt memes, videos, and threads to hit home.

✅ Flood socials with video—TikTok, Reels, Shorts—dominate the algorithm.

✅ Run guerrilla campaigns—trading contests, meme wars, referral bounties.<br>

C. FEEDBACK & IMPACT REPORTS

✅ Listen to your community—their pain points are your battle plans.

✅ Track your conquests:

* Member growth&#x20;
* Engagement (likes, shares, comments)
* New stakers (WOO X + WOOFi)
* Campaign CTRs (clicks = conversions = victory)

<br>


# Legacy


# \[ended] ARB STIP distribution

ARB rewards available till March 31 2024

{% hint style="warning" %}
The WOOFi ARB STIP campaign has concluded as of the end of March.&#x20;
{% endhint %}

## Background&#x20;

The [proposal](https://www.tally.xyz/gov/arbitrum/proposal/13413460212244439965325761903593975061091934953503684497413508380387288651335?chart=2) to backfund successful projects from round one of the Arbitrum S.T.I.P has passed, and that means WOOFi is set to receive a whopping 1M ARB. To give you ample time to prepare so you can make the most of this opportunity, we’re outlining in detail how these incentives will be distributed, down to the very last ARB.

To start with, here’s a quick breakdown of how the ARB will be allocated.

<figure><img src="https://lh7-us.googleusercontent.com/DyGoxYOADog28CANIeXxRtF5eMUXKBjWh0rNcUSka_412-IZ8O87I3JjZxdcdz5tApUaSQpwTPDF_7gS6AyxsaBQPbvQ29Tm6l0xybyprk2zkpgUmDnyQRz-IeHEhQcdwZT2ToZFNCMacoVe99uujNs" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}

* **WOOFi ARB STIP Dune dashboard:** <https://dune.com/woofianalytics/woofi-arb-stip-stats>
* For WOOFi Earn and Stake - rewards can be claimed as usual from their respective pages.
* ARB rewards for WOOFi Pro, simple swaps, and cross-chain swaps will be calculated at the end of each week using the weekly closing price, and be available to claim the following Monday from a new ‘claim’ button in the [WOOFi app](https://fi.woo.org/swap/). **The rewards will only be available for claiming before April 30, 2024.**

<img src="/files/q086m67eKG7RGVuaWOBa" alt="" data-size="original">
{% endhint %}

## WOOFi Cross-chain Swap

{% hint style="warning" %}
Your swap is eligible for rewards if you see the "ARB reward" icon on the swap window. You can select any supported chain except Linea as the source chain.&#x20;
{% endhint %}

### Cross-chain swap fee refund

To encourage more users to explore the ecosystem, all cross-chain swaps into Arbitrum will have the following fees refunded using the ARB token:

* Destination gas fee (additional gas tokens requested are excluded)
* Bridge fee
* Swap fee on the source chain

{% hint style="info" %}
Total refund for each week is capped at 5,788 ARB. If the weekly cross-chain swap fee exceeds the cap, swappers may get the refund proportional to the fee they paid.
{% endhint %}

#### Distribution details:

<table><thead><tr><th width="122">Week</th><th>Cross chain swap fee</th><th>ARB distributed</th><th>Close price</th></tr></thead><tbody><tr><td>Jan 1</td><td>$8,706</td><td>5,056.34 ARB</td><td>$1.7218</td></tr><tr><td>Jan 8</td><td>$10,573.67</td><td>5,208.19 ARB</td><td>$2.0302</td></tr><tr><td>Jan 15</td><td>$12,000.68</td><td>6,607.58 ARB</td><td>$1.8162</td></tr><tr><td>Jan 22</td><td>$14,415.03</td><td>8,014.14 ARB</td><td>$1.7987</td></tr><tr><td>Jan 29</td><td>$15,677.39</td><td>9,054.22 ARB</td><td>$1.7315</td></tr><tr><td>Feb 5</td><td>$10,607.55</td><td>5,463.02 ARB</td><td>$1.9417</td></tr><tr><td>Feb 12</td><td>$15,723.16</td><td>7,708.94 ARB</td><td>$2.0396</td></tr><tr><td>Feb 19</td><td>$13,464.36</td><td>7,069.39 ARB</td><td>$1.9046</td></tr><tr><td>Feb 26</td><td>$19,486.31</td><td>9,533.89 ARB</td><td>$2.0439</td></tr><tr><td>Mar 4</td><td>$25,283.5</td><td>12,226.06 ARB</td><td>$2.068</td></tr><tr><td>Mar 11</td><td>$19,222.06</td><td>11,070.70 ARB</td><td>$1.7363</td></tr><tr><td>Mar 18</td><td>$6,898.53</td><td>4,129.13 ARB</td><td>$1.6707</td></tr><tr><td>Mar 25</td><td>$6,583.82</td><td>3,962.34 ARB</td><td>$1.6616</td></tr></tbody></table>

### Cross-chain carousel

WOOFi’s cross-chain carousel will feature one Arbitrum protocol each week for 13 weeks. 5,750 ARB is distributed to users who cross-chain swap any asset from any chain into $20 or more of the featured project’s token of the week.

<table data-column-title-hidden data-view="cards" data-full-width="false"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td><mark style="background-color:yellow;"><strong>Swap into at least $20 of $DMT on Arbitrum from any asset from another chain. e.g. ETH on Optimism</strong></mark></td><td></td><td></td></tr><tr><td><strong>Carousel of the week</strong></td><td>Sanko GameCorp (DMT)</td><td><a href="/files/PKvPF1ArG5wI8Ey2umIr">/files/PKvPF1ArG5wI8Ey2umIr</a></td><td><a href="https://fi.woo.org/swap/?chainId1=42161&#x26;token1=0x8B0E6f19Ee57089F7649A455D89D7bC6314D04e8">https://fi.woo.org/swap/?chainId1=42161&#x26;token1=0x8B0E6f19Ee57089F7649A455D89D7bC6314D04e8</a></td></tr><tr><td></td><td><mark style="background-color:blue;"><strong>Omnichain app powered by LayerZero. Seamless one-click cross-chain swap experience.</strong></mark></td><td></td><td></td></tr></tbody></table>

{% hint style="info" %}

* w/o Jan 15 update - the minimum $ amount of the cross-chain carousel has been increased from $10 to $20 from this week
* w/o Jan 22 update - to prevent bots from taking advantages of the campaign, we will apply sybil detection methods and remove Sybil addresses from the eligible list before selecting the winners. e.g. A cluster of addresses are deemed to be owned by the same user according to the known Sybil patterns
* w/o Feb 12 update - the rewards will be equally distributed to all eligible addresses instead of 25 randomly picked winners.
  {% endhint %}

<figure><img src="/files/rIWSXHlJx0IeFestYtht" alt="" width="563"><figcaption></figcaption></figure>

#### Distribution details (a fixed 5,750 ARB per week):

<table><thead><tr><th width="174">Week</th><th width="207">Eligible addresses</th><th>Note</th></tr></thead><tbody><tr><td>Jan 1 - JOE</td><td>788</td><td>25 winners, 230 ARB each, <a href="https://arbiscan.io/tx/0x704484e134e842a2cb72a2f135708373c5fcf1adc774b8be9a10926ed6e1eb61#eventlog">on chain VRF tx</a></td></tr><tr><td>Jan 8 - GMX</td><td>2,504</td><td>25 winners, 230 ARB each, <a href="https://arbiscan.io/tx/0x6b66be71030ea3f8b9da699d083382f2a5b32e1dd543b08c4d180dd4e8c22788#eventlog">on chain VRF tx</a></td></tr><tr><td>Jan 15 - RDNT</td><td>2,835</td><td>25 winners, 230 ARB each, <a href="https://arbiscan.io/tx/0x86e16831768ba111cb820c575178ecdb35cc4c7b93937500c5fe25b0488fdb7e#eventlog">on chain VRF tx</a></td></tr><tr><td>Jan 22 - JONES</td><td>421 (sybil filtered)</td><td>25 winners, 230 ARB each, <a href="https://arbiscan.io/tx/0xefeadb26a39be1922f80a30d6f3ac4f2305bed3925fb8c3e07b13fab13ea6066#eventlog">on chain VRF tx</a></td></tr><tr><td>Jan 29 - GNS</td><td>652 (sybil filtered)</td><td>25 winners, 230 ARB each, <a href="https://arbiscan.io/tx/0x9908081b8485cd8d4b6e1785e49a4a5e14b80f514cdd2d8d58c81e62980cb097#eventlog">on chain VRF tx</a></td></tr><tr><td>Feb 5 - PREMIA</td><td>956 (sybil filtered)</td><td>25 winners, 230 ARB each, <a href="https://arbiscan.io/tx/0x00e063fe92b9ea34867f0a8fb8c9785b975785de26c86468eddf8d00bf556e74#eventlog">on chain VRF tx</a></td></tr><tr><td>Feb 12 - MCB</td><td>692 (sybil filtered)</td><td>692 winners, 8.3 ARB each</td></tr><tr><td>Feb 19 - MAGIC</td><td>1,239 (sybil filtered)</td><td>1,239 winners, 4.64 ARB each</td></tr><tr><td>Feb 26 - SPELL</td><td>739 (sybil filtered)</td><td>739 winners, 7.78 ARB each</td></tr><tr><td>Mar 4 - PENDLE</td><td>468 (sybil filtered)</td><td>468 winners, 12.29 ARB each</td></tr><tr><td>Mar 11 - SILO</td><td>584 (sybil filtered)</td><td>584 winners, 9.85 ARB each</td></tr><tr><td>Mar 18 - GRAIL</td><td>613 (sybil filtered)</td><td>613 winners, 9.38 ARB each</td></tr><tr><td>Mar 25 - DMT</td><td>504 (sybil filtered)</td><td>504 winners, 11.41 ARB each</td></tr></tbody></table>

## WOOFi Pro (perpetual futures)

### New user bonus

To incentivize new traders, 25 random wallets that deposit onto [WOOFi Pro](https://dex.woo.org/en/trade/ETH_PERP) **via Arbitrum** and trade $250 or more volume in the same week as they deposit will be picked every Monday to each receive 50 ARB.&#x20;

#### Distribution details (a fixed 1,250 ARB per week):

<table><thead><tr><th width="168">Week</th><th width="167">Eligible addresses</th><th>Note</th></tr></thead><tbody><tr><td>Jan 1</td><td>400</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0xe52327b1792f17dc6bff2d06406f7413331ee785912572c4d79967960737e049#eventlog">on chain VRF tx</a></td></tr><tr><td>Jan 8</td><td>964</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0xfb728824af09f2f22c7d5e13fa6ff3dfb74a6ba405eb7a06f4116e2c54f3fde3#eventlog">on chain VRF tx</a></td></tr><tr><td>Jan 15</td><td>459</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0x71602258bfda1e7e9137eab3cc6f197bb6f208affa13d9e50adb5d15914fe6b7#eventlog">on chain VRF tx</a></td></tr><tr><td>Jan 22</td><td>2,840</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0x4f166a26a359039f089da34c13f2bd4407971df696352e27d30fca0ba8c67fc8#eventlog">on chain VRF tx</a></td></tr><tr><td>Jan 29</td><td>2,535</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0x6e14d0e200eaa188c8f83eb7def90373ae6815a603e2a0895780800a87c8e1f6#eventlog">on chain VRF tx</a></td></tr><tr><td>Feb 5</td><td>670</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0x9b40ea573e3a712dc044ced4eb05123a2f7e44caebbedf747e6e146b896d55e7#eventlog">on chain VRF tx</a></td></tr><tr><td>Feb 12</td><td>482</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0xaaccf229c3364c010814724ae3b8ab5fe622a89e5169c82d576ed1149bdef2a8#eventlog">on chain VRF tx</a></td></tr><tr><td>Feb 19</td><td>186</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0xf37538fc66c73cfb2ccdbb826629cff0e101ac7c324c4403352e050bf77879e0#eventlog">on chain VRF tx</a></td></tr><tr><td>Feb 26</td><td>1,458</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0x0abe0cbce2fa571eec8ed21530923bd20de0e91bcf3461f9c5f39e4b4039735c#eventlog">on chain VRF tx</a></td></tr><tr><td>Mar 4</td><td>1,540</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0x081b9236d8cb6dc4989cc582db26f1d427c24c6505349aa6df2189b9856a9be2#eventlog">on chain VRF tx</a></td></tr><tr><td>Mar 11</td><td>2,212</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0xa941550d448e283deec8aebe246823d4fd7166b6f4f2626b43e054a5ee2c6fad#eventlog">on chain VRF tx</a></td></tr><tr><td>Mar 18</td><td>1,607</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0x5bb696f58a3bf6d533063284f66a39c2538f6d9c7dd73fbde47a52d8712075e6#eventlog">on chain VRF tx</a></td></tr><tr><td>Mar 25</td><td>1,496</td><td>25 winners, 50 ARB each, <a href="https://arbiscan.io/tx/0x7e76af2249e5787454d77216f7c893a4366a95804f50b813265fb2f2bb8a3163#eventlog">on chain VRF tx</a></td></tr></tbody></table>

### Trading incentives

10,000 ARB will be distributed pro rata each week to reward existing traders based on trading volume. Higher trading volume = higher share of the pot.&#x20;

Finish within the top 10 traders by trading volume each week for an additional bonus prize from a pool of 4,134 ARB.

* 1st place: 1,200 ARB
* 2nd place: 800 ARB&#x20;
* 3rd place: 534 ARB
* 4th & 5th place: 350 ARB
* 6th - 10th place: 180 ARB&#x20;

{% hint style="info" %}
w/o of March 4 update - the top trader incentive pool will be distributed to Top 10 traders instead of Top 5.
{% endhint %}

#### Distribution details (a fixed 14,134 ARB per week):

<table><thead><tr><th width="106">Week</th><th width="167">Trading volume</th><th>Top 5 traders</th></tr></thead><tbody><tr><td>Jan 1</td><td>$28,670,657<br>Top 5 - 85.76%</td><td><p>1.0xb7b66...E053E: $10,000,302.35</p><p>2.0xD1e36...606cC: $5,433,511.76</p><p>3.0x3BDDE...1e17F: $4,477,470.67</p><p>4.0x65F44...b4b4E: $2,495,137.98</p><p>5.0xAe03E...Ae7be: $2,182,832.88</p></td></tr><tr><td>Jan 8</td><td>$69,947,739.6<br>Top 5 - 55.73%</td><td><p>1.0xb7b66...E053E: $16,212,129.01  ➡️</p><p>2.0x3BDDE...1e17F: $9,896,083.06  🔼</p><p>3.0xD1e36...606cC: $7,976,650.68  🔽</p><p>4.0x166E7...3Ea5E: $3,164,177.02  🆕</p><p>5.0xa2EbD...a0703: $1,732,724.84  🆕</p></td></tr><tr><td>Jan 15</td><td>$56,366,176.01<br>Top 5 - 69.59%</td><td><p>1.0xb7b66...E053E: $22,892,618.42   ➡️</p><p>2.0xC89Ec...1ffc4: $6,435,237.89  🆕</p><p>3.0x65F44...b4b4E: $4,273,010.15  ⏫️</p><p>4.0x5717A...a69d0: $3,043,769.79  🆕</p><p>5.0x3BDDE...1e17F: $2,577,894.91  ⏬️</p></td></tr><tr><td>Jan 22</td><td>$115,018,875.79<br>Top 5 - 37.03%</td><td><p>1.0xb7b66...E053E: $26,398,101.59  ➡️</p><p>2.0xaF5e2...2224E: $7,340,396.9  🆕</p><p>3.0xC89Ec...1ffc4: $4,073,588.9  🔽</p><p>4.0xf3118...60925: $3,003,261.28  🆕</p><p>5.0xAe03E...Ae7be: $1,778,919.09  🔼</p></td></tr><tr><td>Jan 29</td><td>$106,793,083.17<br>Top 5 - 47.9%</td><td><p>1.0xb7b66...E053E: $20,450,478.45  ➡️</p><p>2.0xf3118...60925: $13,623,726.55  ⏫️</p><p>3.0xaF5e2...2224E: $10,324,463.69  ⏫️</p><p>4.0xAe03E...Ae7be: $3,616,065.13  🔼</p><p>5.0x637E1...a4009: $3,139,980.05  🆕</p></td></tr><tr><td>Feb 5</td><td>$148,716,649.85<br>Top 5 - 71.31%</td><td><p>1.0xaF5e2...2224E: $50,425,688.57    🔼</p><p>2.0xb7b66...E053E: $40,149,042.62  🔽</p><p>3.0xf3118...60925: $5,773,092.73  🔽<br>4.0xD1e36...606cC: $5,069,038.84  ⏫️</p><p>5.0xe6bBD...9b142: $4,632,760.65  🆕</p></td></tr><tr><td>Feb 12</td><td>$172,984,728.67<br>Top 5 - 64.5%</td><td>1. 0xaF5e2...2224E: $48,406,969.85   ➡️<br>2. 0xb7b66...E053E: $37,708,049.04  ➡️<br>3. 0xf3118...60925: $13,169,680.06      ➡️<br>4. 0xe6bBD...9b142: $8,798,771.29       🔼<br>5. 0x05033...9253e: $3,485,390.13      🆕</td></tr><tr><td>Feb 19</td><td>$167,586,190.88<br>Top 5 - 80%</td><td>1. 0xaF5e2...2224E: $60,026,435  ➡️<br>2. 0xb7b66...e053e: $31,362,583   ➡️<br>3. 0x32831...d2541: $18,167,357      🆕<br>4. 0x68988...248d0: $14,919,264   🆕<br>5. 0xe6bbd...9b142: $9,723,452      🔽 </td></tr><tr><td>Feb 26</td><td>$1,138,041,200.87<br>Top 5 - 82.68%</td><td>1. 0x32831...d2541:     $454,735,382     🆕<br>2. 0x68988...248d0:  $364,099,002    🆕<br>3. 0xaf5e2...2224e:    $101,231,047       ⏬️<br>4. 0xb7b66...e053e:   $10,781,893        ⏬️<br>5. 0x94778...f5dc8:    $10,126,517         🆕</td></tr><tr><td>Mar 4</td><td>$1,320,154,460.05<br>TOP 10 - 80%</td><td>1. 0x32831...d2541:       $508,430,095 ➡️<br>2. 0x68988...248d0:    $438,445,194  ➡️<br>3. 0xaf5e2...2224e:      $65,605,448   ➡️<br>4. 0xd8d10...603c7:     $10,019,778      🆕<br>5. 0xe6bbd...9b142:     $7,228,428       🔼<br>6. 0x3f820...32918:      $7,157,755         🆕<br>7. 0x81560...3de0c:      $6,860,762      🆕<br>8. 0x8493e...cc86c:     $5,126,354       🆕<br>9. 0x31cc3...470e7:      $4,636,810      🆕<br>10. 0xd75ae...8f5bc:    $2,619,169        🆕</td></tr><tr><td>Mar 11</td><td>$1,361,474,033.08<br>TOP 10 - 75.78%</td><td><p>1. 0x32831...d2541:       $512,970,156.31     ➡️</p><p>2. 0x68988...248d0:    $406,644,336.61  ➡️</p><p>3. 0xaF5e2...2224E:     $66,913,295.83     ➡️</p><p>4. 0xB6BF1...c46C0:    $10,220,767.75      🆕</p><p>5. 0x350de...e3248:     $9,230,865.12        🆕</p><p>6. 0x57f67...2f67e:       $7,971,003.4           🆕</p><p>7. 0x73ef7...D5A2f:      $6,264,583.61         🆕</p><p>8. 0x31cc3...470E7:     $4,998,021.29        🔼</p><p>9. 0x8F258...02062:    $3,344,580.2          🆕</p><p>10. 0xddbBE...02c48:  $3,229,506.85        🆕</p></td></tr><tr><td>Mar 18</td><td>$1,051,818,944.03<br>TOP 10 - 76.40%</td><td><p>1. 0x68988...248d0:   $349,471,176.98    🔼</p><p>2. 0x32831...d2541:    $346,270,617.71     🔽</p><p>3. 0xaF5e2...2224E:    $47,360,225.47    ➡️</p><p>4. 0xC9dce...58A73:   $13,090,487.21      🆕</p><p>5. 0x9878d...9dc9C:   $10,194,162.53      🆕</p><p>6. 0x85B15...5B844:   $9,095,773.04      🆕</p><p>7. 0x9A116...27044:    $8,884,780.09      🆕</p><p>8. 0x32bc1...90d10:    $8,803,600.23      🆕</p><p>9. 0x84f51...8Eac1:     $5,370,613.59        🆕</p><p>10. 0x6Ad75...19f75:   $4,998,451.2          🆕</p></td></tr><tr><td>Mar 25</td><td>$638,948,966.03<br>TOP 10 - 72.56%</td><td><p>1. 0x32831...d2541:     $233,268,417.71   🔼</p><p>2. 0x68988...248d0:  $176,600,416.9    🔽</p><p>3. 0xaF5e2...2224E:   $15,705,106.02    ➡️</p><p>4. 0x0f1DD...DF6c0:   $10,282,691.23    🆕</p><p>5. 0x7e1C3...c0C94:    $7,000,915.16      🆕</p><p>6. 0xB1e21...2cC56:     $5,071,032.65     🆕</p><p>7. 0xaAbC2...7C47A:    $4,255,412.16     🆕</p><p>8. 0xDFaa1...dF18B:     $3,962,745.75    🆕</p><p>9. 0x8Dd97...20422:    $3,761,970.64    🆕</p><p>10. 0x73ef7...D5A2f:    $3,694,278.26    🔼</p></td></tr></tbody></table>

## WOOFi Swap

11,538 ARB will be used as incentives each week to lower fees for WOOFi swaps on Arbitrum. All swaps that use WOOFi’s sPMM liquidity will be eligible whether executed through the WOOFi app or via aggregators. Incentives in the pool will be awarded to users based on their total fees paid during each week.&#x20;

*User A’s rewards = (fee paid by user A / total fees collected from sPMM liquidity pool)\* total ARB incentives for the week*

#### Distribution details (a fixed 11,538 ARB per week):

<table><thead><tr><th width="168">Week</th><th width="167">Swap fee</th><th>ARB per $ fee paid</th><th>Close price</th></tr></thead><tbody><tr><td>Jan 1</td><td>$32,884</td><td>0.35 ARB</td><td>$1.7218</td></tr><tr><td>Jan 8</td><td>$50,336.32</td><td>0.23 ARB</td><td>$2.0302</td></tr><tr><td>Jan 15</td><td>$24,528</td><td>0.47 ARB</td><td>$1.8162</td></tr><tr><td>Jan 22</td><td>$26,318.9</td><td>0.44 ARB</td><td>$1.7987</td></tr><tr><td>Jan 29</td><td>$23,203.1</td><td>0.5 ARB</td><td>$1.7315</td></tr><tr><td>Feb 5</td><td>$23,657.22</td><td>0.49 ARB</td><td>$1.9417</td></tr><tr><td>Feb 12</td><td>$34,021.75</td><td>0.34 ARB</td><td>$2.0396</td></tr><tr><td>Feb 19</td><td>$32,738.32</td><td>0.35 ARB</td><td>$1.9046</td></tr><tr><td>Feb 26</td><td>$48,344.47</td><td>0.24 ARB</td><td>$2.0439</td></tr><tr><td>Mar 4</td><td>$22,786.4</td><td>0.12 ARB</td><td>$2.068</td></tr><tr><td>Mar 11</td><td>N/A</td><td>N/A</td><td>N/A</td></tr><tr><td>Mar 18</td><td>N/A</td><td>N/A</td><td>N/A</td></tr><tr><td>Mar 25</td><td>N/A</td><td>N/A</td><td>N/A</td></tr></tbody></table>

{% hint style="info" %}
w/o Mar 4 update - due to the incident happened to WOOFi's sPMM pool on March 5, this program has been put on pause till the sPMM pool is re-enabled. Only portion of the 11,538 ARB was distributed for the week of Mar 4.
{% endhint %}

## WOOFi Earn

200,000 ARB tokens are streamed between WOOFi’s ARB, ETH, USDC.e, and WBTC vaults on Arbitrum till March 31 2024. Once a user has deposited and staked their WOOFi Earn LP tokens, rewards will begin automatically accruing each block and can be claimed at any time. For a guide on how to deposit, check out our [docs](https://learn.woo.org/woofi/get-started/earn).

## WOOFi Stake

All stakers earn a share of 200,000 ARB proportionate to the size of their total staked WOO and multiplier points till March 31 2024. These rewards will be distributed in addition to 80% of WOOFi swap fees and WOOFi Pro net revenue - claimable only via Arbitrum. Not yet staked on WOOFi? We’ve prepared a step-by-step guide for you [here](https://learn.woo.org/woofi/get-started/stake).

## Quests and widget

50,000 ARB will be used to fund Arbitrum-specific quests in partnership with Layer3 as we strive to shine a spotlight on budding protocols in the ecosystem.&#x20;

* 25,000 ARB was allocated to the Layer3 Holy Grail NFT campaign

Another 50,000 ARB will be reserved for builders who integrate the [WOOFi Widget](https://fi.woo.org/swap/widget) - a white-labeled product embeddable into any protocol that allows users to cross-chain swap any tokens. These ARB tokens will be used to incentivize cross-chain swaps into Arbitrum only.

* 10,000 ARB was allocated to CoolWallet for integrating WOOFi widget

## ARB distribution contract addresses

* Merkle distributor: 0x1109E03516eB25eAb2150D0b274B8D4F5F3cF549
* Chainlink VRF selector: 0x28F88A809cCc085956AB9f978067698d25de014C
* Staking ARB rewarder: 0x401ff5f78B52EDb57aB019c8988e0Be933AaABCb
* Earn ARB supercharger distributor: 0xdF0006994c46F4d006eCb2b5aF3e212D94df23e1
* Earn ETH supercharger distributor: 0xfBBfcCAE3f76AFc0979f20920b4d04d608F873bF
* Earn USDC.e supercharger distributor: 0x4D0ec3BEF43d72D17C3718C873A75f878A06cA57
* Earn WBTC supercharger distributor: 0xA397FbA8c5C1aeF9137601C185F6AB0E9CF43662


# \[ended] Binance Web3 Wallet airdrop

Win a share of $100,000 WOO!

Binance has kindly featured WOOFi front and center in its brand new Web3 Wallet, and we’re celebrating with a week-long campaign! The premise is simple: download the Binance Web3 Wallet and complete tasks on WOOFi to earn WOO. The more tasks you complete, the more WOO you’ll get.

| Cross-chain swap any token from any chain into 100 WOO on Arbitrum | $20,000 WOO |
| ------------------------------------------------------------------ | ----------- |
| Stake 100 or more WOO on Arbitrum                                  | $20,000 WOO |
| Deposit 0.01 ETH into WOOFi’s vault on Arbitrum                    | $20,000 WOO |
| Deposit 25 USDC onto WOOFi Pro via Arbitrum                        | $20,000 WOO |
| Trade $250 or more volume on WOOFi Pro                             | $20,000 WOO |

Campaign timeline: 23.01.2024 00:00 UTC to 05.02.2024 23:59 UTC

Download the Binance Web3 Wallet [here](https://www.binance.com/en/web3wallet). Once done, head to [WOOFi’s designated page](https://www.binance.com/en/activity/mission/woo-airdrop?utm_source=anns) inside the wallet and click \[Join Now]. You can complete the tasks in any order you like, just remember to click \[Verify] on the campaign page once each action has been completed to lock in your guaranteed share of the prize pool! For step-by-step guides on how to complete each task, check out:

[Broken mention](broken://pages/8v7xPIPwWVxJxrUld8Jg)

[Broken mention](broken://pages/6AiP5BjpyDntCwxbq3WW)

[Broken mention](broken://pages/pHmudV5Xg2UW9VAPJG7e)

[Broken mention](broken://pages/MNaI8OX50xrt1Xld299Z)

[Broken mention](broken://pages/kqEWGNY6OYBiYqyVurbj)


# 立刻出发，解锁WOOFi交易新体验

WOOFi 邀请您体验交易的快乐！

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

现在前往 WOOFi ，在 10 天内使用 WOOFi Pro 完成特定交易要求，同时通过 WOOFi Stake 质押 WOO，将获得 100 美元的 WOO 奖励，每位用户仅可参与一次，请确保您参与活动的钱包地址之前未注册过 WOOFi Pro。

## 活动步骤：

1. 在此[表单中](https://forms.gle/5j5BFk39dxnHFj3i7)填写您使用  [WOOFi Pro](https://dex.woo.org/en/trade/BTC_PERP)  时连接的钱包地址、UID 和绑定邮箱；
2. 活动期间内用此钱包地址在 [WOOFi Pro](https://dex.woo.org/en/trade/BTC_PERP) 上完成至少 5,000 美元的交易量；
3. 从活动时间内在 [WOOFi Stake](https://fi.woo.org/swap/stake) 上质押至少 1800 枚 $WOO 并保持质押行为至活动核算时结束；

**活动参与时间：**&#x32;024年11月25日14:00 - 2024年12月4日 23:59 UTC+8

**奖励核算时间：**&#x32;024年12月5日00:00 - 2024年12月11日 23:59 UTC+8

**奖励发放时间：**&#x32;024年12月20日 23:59 UTC+8 之前

## 活动奖励：

总奖池：100,000 USD 等值 WOO

符合存款和交易量要求的合格参与者将获得 100 美元的 WOO 代币，先到先得直至奖池瓜分完毕。

## **WOOFi 介绍：**

WOOFi 是一家领先的去中心化交易所 (DEX)，累计交易量超过 420 亿美元，每月活跃用户超过 25 万。它支持 11 条区块链，并提供多种产品，包括收益金库、简单兑换、跨链兑换和永续合约。WOOFi 的原生代币 WOO 可以参与质押，来分享 80% 的协议费用。

**WOOFi 使用小秘诀**

1）在 WOOFi Stake 上质押 WOO 能降低永续合约交易手续费，质押和交易越多，获得质押收益越高，随时质押随时解锁。

2\) 活动期间在 WOOFi Pro 上交易，还将额外获得 ORDER 代币奖励，详情请[见此](https://dex.woo.org/en/rewards/trading-reward)。

3）[WOOFi 简体中文使用教程](https://docs.google.com/document/d/1LYPMZLbS6pLraG8FAvPT86JaJ32N1Lt7iyC-T4_aG-M/edit?usp=sharing)。

**所有参加活动的用户须接受以下条款：**

注意事項：

1. 活动中WOOFi Pro永续合约交易均计入交易量统计。
2. 您同意 WOOFi 向 WOO X 索取您在 WOO X 留存的信息，包含但不限于您的个人信息、任何可直接或间接得识别您的信息或与您相关的信息。
3. 获奖用户将在活动结束后 14 个工作日内通过邮件收到通知，如果我们需要您提供任何必要信息，您必须在规定的截止日期前回复或提供所需信息，否则将被视为没有资格获得奖励。WOOFi 保留设定获奖者信息提供截止日期的权利，在此之后未领取的奖励将被没收。
4. 奖励将根据活动结束时的 WOO 价格计算，WOOFi 将在 Arbitrum 网络上直接发送至用户所提供的钱包。WOOFi 保留价格决定的权利。
5. 如未特别说明，"$"均指美元（USD）
6. WOO Fi 保留对本条款和条件的最终解释权，包括但不限于修改、变更或取消活动，无需事先通知。如有任何疑问，请通过客服系统联系我们。
7. 参与者需遵守  WOO X 和 WOOFi 活动条款和规则。
8. WOOFi 保留随时修改、暂停或终止本次活动的权利，无需事先通知，包括调整活动时间安排和奖励发放的权利。
9. 严禁用户通过任何手段操纵活动结果，包括但不限于注册多个账号或参与其他任何违规行为来提高获奖几率。 WOOFi 保留取消任何参与者资格的权利，并在必要时采取进一步法律措施。
10. WOOFi 保留自行调整上述活动时间安排的权利，包括提前或延长活动时间。
11. 如奖励发放出现延迟，用户不得要求任何延期补偿利息。
12. 用户需自行承担因获得奖励而产生的税务责任。
13. 参加者同意对 WOOFi 及其关联公司进行赔偿并使其免受因参加本活动而引起或与之相关的任何索赔、损害、损失或责任的影响。


# Terms of Use

updated on Jan 22, 2024

The following terms of use (the “Terms”) and the other separate terms of services detailed in Appendices which may be updated from time to time constitute an agreement between you or the company or other legal entity you represent (“you” or “your”) and AstroLink Technology LLC (AstroLink Technology LLC,” “we,” or “us”), and apply to your use of, including but not limited to Swap, Earn, Stake, Orderbook and any other defi services as may be provided by WOOFi from time to time <https://fi.woo.org>. (the “Site”) (together, “Our Services”).&#x20;

By using Our Services, you agree that you have read, understood, and accepted these Terms as well as our policies disclosed and updated from time to time, and you acknowledge and agree that you will be bound by such terms and policies. To access or use Site of Services, you must be able to form a legally binding contract with us. Accordingly, you represent that you are at least the age of majority in your jurisdiction (e.g., 18 years old) and have the full right, power, and authority to enter into and comply with this Terms on behalf of yourself and any company or legal entity for which you may access or use the Site or the Services.  If you are entering into this Terms on behalf of an entity, you represent to us that you have the legal authority to bind such entity.

## 1. ELIGIBILITY&#x20;

If you are an individual, you must be of legal age in the jurisdiction in which you reside and you have the legal capacity to enter into these Terms.&#x20;

If you are on behalf of a legal entity, you represent and warrant that (i) such legal entity is duly organized and validly existing under the applicable laws of the jurisdiction of its organization; (ii) you are duly authorized by such legal entity to act on its behalf.&#x20;

By accessing or using WOOFi, you further represent and warrant that you are not a Restricted Person nor are you a resident of a Restricted Territory (each as defined in Section 2) and you will not be using WOOFi for any illegal activity including, but not limited to, those Restricted Activities listed under Section 3. Notwithstanding the foregoing, we may determine not to make the services, in whole or in part, available in every market, either in its sole discretion or due to legal or regulatory requirements, depending on your location. Additionally, use of a virtual private network (e.g., a VPN) or other means by Restricted Persons or persons from Restricted Territories to access or use Our Service is prohibited.

## 2. LEGAL COMPLIANCE

You agree that you are solely and entirely responsible for compliance with all laws and regulations that may apply to you. You further agree that we have no obligation to inform you of any potential liabilities or violations of law or regulation that may arise in connection with your access and use of Our Service and that we are not liable in any respect for any failure by you to comply with any applicable laws or regulations.

You may not use Our Services if (i) you are incorporated or otherwise established in, or a citizen or resident a prohibited jurisdiction as follows (“Restricted Territories”), including but not limited to:

* Iran
* North Korea
* Cuba
* Syria
* Crimea and Sevastopol
* Afghanistan
* Libya
* Mali
* South Sudan
* Sudan
* Donetsk
* Luhansk
* US and its territories
* China
* Democratic Republic of Congo
* Myanmar
* Canada
* Seychelles

AstroLink Technology LLC has the sole discretion to update the list of prohibited jurisdictions from time to time; (ii) you are a member of any sanctions list or equivalent maintained by the United States government, the United Kingdom government, the European Union, or the Taiwan government (“Restricted Persons”); (iii) you intend to transact with any Restricted Territories or Restricted Persons; (iv) you are located, incorporated or otherwise established in, or a citizen or resident of a jurisdiction where it would be illegal under applicable laws for you (by reason of your nationality, domicile, citizenship, residence or otherwise) to access or use Our Services; or (v) the publication or availability of Our Services is prohibited or contrary to local law or regulation, or could subject AstroLink Technology LLC to any local registration or licensing requirements.

In order to comply with legal obligations under applicable rules and regulations, we may conduct AML/CFT procedure, anti-fraud procedure, and authentication checks. Please find our Privacy Policy for more description of our use of information.

We reserve the right to cooperate with any law enforcement, court or government investigation or order or third party requesting or directing that we disclose information or content or information that you provide.

## 3. RESTRICTED ACTIVITIES

In connection with your use of Our Services, you will not:

* violate or assist any party in violating any law, statute, ordinance, regulation or any rule of any self-regulatory or similar organization of which you are or are required to be a member through your use of Our Services;
* provide false, inaccurate, incomplete or misleading information;
* infringe upon AstroLink Technology LLC's or any third party's copyright, patent, trademark, or intellectual property rights;
* engage in any illegal activity, including without limitation illegal gambling, money laundering, fraud, blackmail, extortion, ransoming data, the financing of terrorism, other violent activities or any prohibited market practices;
* distribute unsolicited or unauthorized advertising or promotional material, written media releases, public announcements and public disclosures, junk mail, spam or chain letters;
* take any action that imposes an unreasonable or disproportionately large load on our infrastructure, or detrimentally interfere with, intercept, or expropriate any system, data or information;
* transmit or upload any material to WOOFi that contains viruses, Trojan horses, worms, or any other harmful or deleterious programs;
* transfer any rights granted to you under these Terms;
* engage in any other activity which, in our reasonable opinion, amounts to or may amount to market abuse including without limitation the carrying out of fictitious transactions or wash trades, front running or engaging in disorderly market conduct, or manipulative tactics commonly known as "rug pulls", pumping and dumping; or&#x20;
* engage in any behavior which is unlawful, violates these Terms, or is otherwise deemed unacceptable by AstroLink Technology LLC in its sole discretion.

## 4. FEES AND PRICE ESTIMATES

In connection with your use of Our Services, you are required to pay all fees necessary for interacting with the blockchain networks, including “gas” costs, as well as all other fees reflected on WOOFi at the time of your use. Although we attempt to provide accurate fee information, this information reflects our estimates of fees, which may vary from the actual fees paid to use the services and interact with the blockchain networks.

## 5. NO PROFESSIONAL ADVICE OR FIDUCIARY DUTIES

We do not advise on the merits of any particular transactions, trading risks, or tax consequences, and do not provide any other financial, investment, or legal advice in connection with Our Service. To the extent that we or our representatives provide trading recommendations, market commentary, or any other information, the act of doing so is incidental to your relationship with us and such information should not be construed as investment or financial advice. Any decision to buy or sell digital assets is the user's decision and we will not be liable for any loss suffered. You accept the risk of trading digital assets. In entering into any transaction via WOOFi, you represent that you have been, are, and will be solely responsible for making your own independent appraisal and investigations into the risks of the transaction and the underlying digital asset. You represent that you have sufficient knowledge, market sophistication, professional advice and experience to make your own evaluation of the merits and risks of any transaction or any underlying digital asset. The Terms are not intended to, and do not, create or impose any fiduciary duties on us. To the fullest extent permitted by law, you acknowledge and agree that we owe no fiduciary duties or liabilities to you or any other party.

## 6. OWNERSHIP AND CUSTODY OF DIGITAL ASSETS

To access our Services on WOOFi, you must use a non-custodial wallet software, which allows you to interact with public blockchains. Your relationship with that non-custodial wallet provider is governed by the applicable terms of service of such third parties.  We do not have custody or control over the contents of your wallet and have no ability to retrieve or transfer its contents. By connecting your wallet to WOOFi, you agree to be bound by this Terms and all of the terms incorporated herein by reference. You hereby represent and warrant to us that any digital assets used by you in connection with our services are either owned by you or that you are validly authorized to carry out transactions using such digital assets and that all transactions initiated with your wallet are for your own account and not on behalf of any other person or entity.&#x20;

This Term is not intended to, and does not, create or impose any fiduciary duties on us. To the fullest extent permitted by law, you acknowledge and agree that we owe no fiduciary duties or liabilities to you or any other party, and that to the extent any such duties or liabilities may exist at law or in equity, those duties and liabilities are hereby irrevocably disclaimed, waived, and eliminated. You further agree that the only duties and obligations that we owe you are those set out expressly in this Terms.

The digital assets deposited on WOOFi may be under custodian of WOOFi on chain smart contracts. However, you remain the owner and have full authorization and control of your digital assets.&#x20;

## 7. TAXES

It is your responsibility to determine what, if any, taxes apply to your activities on WOOFi, and to collect, report, and remit the correct tax to the appropriate tax authority. AstroLink Technology LLC is not responsible for determining whether taxes apply to your transaction, or for collecting, reporting, or remitting any taxes arising from any transaction.

## 8. INDEMNIFICATION; RELEASE

You agree to indemnify and hold AstroLink Technology LLC, its affiliates, and service providers, and each of their officers, directors, agents, joint venturers, employees, and representatives harmless from any claim or demand (including attorneys' fees and any losses, fines, fees, or penalties imposed by any regulatory authority) arising out of your breach of these Terms, or your violation of any law or regulation. The term “losses” means all net costs reasonably incurred by us or the other persons referred to in this Section which are the result of the matters set out in this Section and which may relate to any claims, demands, causes of action, debt, cost, expense or other liability, including reasonable legal fees (without duplication). If you have a dispute with one or more Users or third parties, you release AstroLink Technology LLC (and its affiliates and service providers, and each of their officers, directors, agents, joint ventures, employees, and representatives) from any and all claims, demands, and damages (actual and consequential) of every kind and nature arising out of or in any way connected with such disputes. If you have a dispute with anyone other than AstroLink Technology LLC, you release us from liability associated with that dispute.

## 9. PRIVACY POLICY

We are committed to protecting your personal information and to helping you understand exactly how your personal information is being used. Please refer to our Privacy Policy for more details, which may be updated from time to time, providing details on how your personal information is collected, stored, protected, and used. &#x20;

## 10. DISCLAIMER

Unless otherwise provided in the separate terms, WOOFi is a developer of open-source software that does not offer trade execution or clearing services and, therefore, has no oversight, involvement, or control concerning your transactions using Our Services. All transactions between users of this open-source software are executed directly between the users' blockchain addresses through a smart contract.

You understand and agree that WOOFi enables access to an online, decentralized and autonomous protocol and environment, and associated decentralized networks, that are not controlled by the AstroLink Technology LLC.

We do not have access to your private key and cannot initiate an interaction with your digital assets or otherwise access your digital assets. We are not responsible for any activities that you engage in when using your wallet, or WOOFi. We cannot and do not represent or guarantee that any of the information available through the WOOFi is accurate, reliable, current, complete or appropriate for your needs.

You expressly understand and agree that your use of WOOFi is at your sole risk. We make and expressly disclaim all representations and warranties, express, implied or statutory, and with respect to WOOFi and the code proprietary or open-source, we specifically do not represent and warrant and expressly disclaim any representation or warranty, express, implied or statutory, including without limitation, any representations or warranties of title, non-infringement, merchantability, usage, security, suitability or fitness for any particular purpose, or as to the workmanship or technical coding thereof, or the absence of any defects therein, whether latent or patent.

You understand that we are not registered or licensed by the CFTC, SEC, or any financial regulatory authority. No financial regulatory authority has reviewed or approved the use of WOOFi. Our Services do not constitute advice or a recommendation concerning any commodity, security, or other digital asset or instrument.

You acknowledge that AstroLink Technology LLC is not responsible for transferring, safeguarding, or maintaining your private keys or any digital assets associated therewith. If you lose, mishandle or have stolen associated private keys, you acknowledge that you may not be able to recover associated digital assets and that AstroLink Technology LLC is not responsible for such loss. You acknowledge that AstroLink Technology LLC is not responsible for any loss, damage or liability arising from your failure to comply with the Terms hereunder. You expressly agree that you assume all risks in connection with your access and use of any of our Services. You further expressly waive and release us from any and all liability, claims, causes of action, or damages arising from or in any way relating to your use of any of our Services.

OUR SERVICES ARE NOT OFFERED TO PERSONS OR ENTITIES WHO RESIDE IN, ARE CITIZENS OF, ARE LOCATED IN, ARE INCORPORATED IN, OR HAVE A REGISTERED OFFICE IN THE UNITED STATES OF AMERICA (COLLECTIVELY, “US PERSONS”). MOREOVER, NONE OF OUR OTHER SERVICES ARE OFFERED TO PERSONS OR ENTITIES WHO RESIDE IN, ARE CITIZENS OF, ARE LOCATED IN, ARE INCORPORATED IN, OR HAVE A REGISTERED OFFICE IN ANY RESTRICTED TERRITORY. WE DO NOT MAKE EXCEPTIONS; THEREFORE, IF YOU ARE A US PERSON, THEN DO NOT ATTEMPT TO USE OUR SERVICES AND IF YOU ARE A RESTRICTED PERSON, THEN DO NOT ATTEMPT TO USE ANY OF OUR SERVICES. USE OF A VIRTUAL PRIVATE NETWORK (“VPN”) TO CIRCUMVENT THE RESTRICTIONS SET FORTH HEREIN IS PROHIBITED.

## 11. RISK DISCLOSURE

The following risks associated with digital assets and Our Services are inclusive but not exhaustive.&#x20;

### 11.1 Digital asset transfers and volatility&#x20;

Digital assets may have unique features that make them more or less likely to fluctuate in value. Factors beyond AstroLink Technology LLC’s control, such as regulatory activity, market manipulation, or unexplainable price volatility, may affect market liquidity for a particular digital asset. Blockchain networks may go offline as a result of bugs, Forks, or other unforeseeable reasons. Speculating on the value of digital assets is high risk and Users should never trade more than they can afford to lose. Understanding digital assets requires advanced technical knowledge. Digital assets are often described in exceedingly technical language that requires a comprehensive understanding of applied cryptography and computer code in order to appreciate the inherent risks. The listing of a digital asset on WOOFi  does not indicate AstroLink Technology LLC’s approval or disapproval of the underlying technology regarding any digital asset and should not be used as a substitute for your own understanding of the risks specific to each digital asset. We provide no warranty as to the suitability of the digital asset traded under these Terms and assume no fiduciary duty to Users in connection with such use of Our Services. Users accept all consequences of sending digital assets to an address off the WOOFi. Digital asset transactions may not be reversible. Once you send digital assets to an address, you accept the risk that you may lose access to your digital assets indefinitely. For example, an address may have been entered incorrectly and the true owner of the address may never be discovered, or an address may belong to an entity that will not return your digital assets, or may return your digital assets but first requires action on your part, such as verification of your identity.&#x20;

### 11.2 Supply and value of digital assets&#x20;

The value of digital assets may be derived from the continued willingness of market participants to exchange digital assets for digital assets, which may result in the potential for permanent and total loss of value of a particular digital asset should the market for that digital asset disappear. You acknowledge and agree that digital assets and/or WOOFi features available in one jurisdiction may not be available for trading or to access, as applicable, in another.&#x20;

### 11.3 Software protocols and operational challenges&#x20;

The software protocols that underlie digital assets are typically open source projects, which means that (i) the development and control of such digital assets is outside of AstroLink Technology LLC’s control and (ii) such software protocols are subject to sudden and dramatic changes that might have a significant impact on the availability, usability or value of a given Digital Asset. You are aware of and accept the risk of operational challenges. WOOFi may experience sophisticated cyber attacks, unexpected surges in activity or other operational or technical difficulties that may cause interruptions to Our Services. You understand that Our Services may experience operational issues that lead to delays. You agree to accept the risk of transaction failure resulting from unanticipated or heightened technical difficulties, including those resulting from sophisticated attacks. You agree not to hold AstroLink Technology LLC accountable for any related losses. All Users understand that the technology underlying digital assets is subject to change at any time, and such changes may affect your assets stored on our platform. You claim full responsibility for monitoring such technological changes and understanding their consequences for your digital assets. Users conduct all trading on their own account and AstroLink Technology LLC does not take any responsibility for any loss or damage incurred as a result of your use of any Services or your failure to understand the risks involved with digital assets use generally or your use of Our Services. &#x20;

### 11.4 Compliance&#x20;

You are responsible for complying with applicable law. You agree that AstroLink Technology LLC is not responsible for determining whether or which laws may be applicable to your transactions, including but not limited to tax law.&#x20;

### 11.5 Legislative and regulatory changes&#x20;

Legislative and regulatory changes or actions at the domestic or international level may adversely affect the use, transfer, exchange, and value of digital assets.&#x20;

### 11.6 No digital asset protection&#x20;

Unless provided under separate terms, User controls and has full ownership and control of his/her digital asset private key of the wallet and WOOFi cannot initiate an interaction with the User’s digital assets or otherwise access User’s digital assets. We are not responsible for any activities that you engage in when using your wallet, or WOOFi. &#x20;

### 11.7 Trading

Users agree and understand that: (a) all trades you submit through any of our Site are considered unsolicited, which means that they are solely initiated by you; (b) you have not received any investment advice from us in connection with any trades, including those you place via our Auto Routing API; and (c) we do not conduct a suitability review of any trades you submit.

## 12. LIMITATION OF LIABILITY; NO WARRANTY

YOU EXPRESSLY UNDERSTAND AND AGREE THAT ASTROLINK TECHNOLOGY LLC AND OUR AFFILIATES AND SERVICE PROVIDERS, AND THEIR RESPECTIVE OFFICERS, DIRECTORS, AGENTS, JOINT VENTURERS, EMPLOYEES, AND REPRESENTATIVES WILL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY DAMAGES, OR DAMAGES FOR LOSS OF PROFITS INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF GOODWILL, USE, DATA, OR OTHER INTANGIBLE LOSSES (EVEN IF ASTROLINK TECHNOLOGY LLC HAS BEEN ADVISED OF  POSSIBILITY OF SUCH DAMAGES), WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, OR OTHERWISE, RESULTING FROM: (1) THE USE OR THE INABILITY TO USE THE SERVICES; (II) THE COST OF PROCUREMENT OF SUBSTITUTE GOODS AND SERVICES RESULTING FROM ANY GOODS, DATA, INFORMATION, OR SERVICES PURCHASED OR OBTAINED OR MESSAGES RECEIVED OR TRANSACTIONS ENTERED INTO THROUGH OR FROM THE SERVICES; (III) UNAUTHORIZED ACCESS TO OR ALTERATION OF YOUR TRANSMISSIONS OR DATA; OR (IV) ANY OTHER MATTER RELATING TO THE SERVICES.

IN NO EVENT WILL THE AGGREGATE LIABILITY OF ASTROLINK TECHNOLOGY LLC, ITS AFFILIATES AND THEIR RESPECTIVE SHAREHOLDERS, MEMBERS, DIRECTORS, OFFICERS, EMPLOYEES, ATTORNEYS, AGENTS, REPRESENTATIVES, SUPPLIERS OR CONTRACTORS ARISING OUT OF SERVICES OFFERED BY OR ON BEHALF OF ASTROLINK TECHNOLOGY LLC AND ITS AFFILIATES, ANY PERFORMANCE OR NON- PERFORMANCE OF ASTROLINK TECHNOLOGY LLC SERVICES, OR ANY OTHER PRODUCT, SERVICE OR OTHER ITEM, WHETHER UNDER CONTRACT, STATUTE, STRICT LIABILITY OR OTHER THEORY, EXCEED THE AMOUNT OF THE FEES PAID BY YOU TO ASTROLINK TECHNOLOGY LLC UNDER THESE TERMS IN THE TWELVE-MONTH PERIOD IMMEDIATELY PRECEDING THE EVENT GIVING RISE TO THE CLAIM FOR LIABILITY.

SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES. ACCORDINGLY, SOME OF THE LIMITATIONS SET FORTH ABOVE MAY NOT APPLY TO YOU. IF YOU ARE DISSATISFIED WITH ANY PORTION OF THE SERVICES OR WITH THIS AGREEMENT, YOUR SOLE AND EXCLUSIVE REMEDY IS TO DISCONTINUE USE OF THE SERVICES. THE SERVICES ARE PROVIDED “AS IS” AND WITHOUT ANY REPRESENTATION OR WARRANTY, WHETHER EXPRESS OR IMPLIED. ASTROLINK TECHNOLOGY LLC, OUR AFFILIATES, AND OUR RESPECTIVE OFFICERS, DIRECTORS, AGENTS, JOINT VENTURERS, EMPLOYEES, AND SUPPLIERS SPECIFICALLY DISCLAIM ANY IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. ASTROLINK TECHNOLOGY LLC MAKES NO WARRANTY THAT (I) THE SERVICES WILL MEET YOUR REQUIREMENTS, (II) THE SERVICES WILL BE UNINTERRUPTED, TIMELY, SECURE, OR ERROR-FREE, OR (III) THE QUALITY OF ANY PRODUCTS, SERVICES, INFORMATION, OR OTHER MATERIAL PURCHASED OR OBTAINED BY YOU WILL MEET YOUR EXPECTATIONS.

## 13. FORCE MAJEURE

AstroLink Technology LLC shall have no liability for any failure or delay resulting from any abnormal or unforeseeable circumstances outside our reasonable control, the consequences of which would have been unavoidable despite all efforts to the contrary, including without limitation governmental action or acts of terrorism, earthquake, fire, typhoons, floods, wars, hacker attacks, computer virus invasions, or regulatory changes which render this Terms unlawful, or other acts of God, labor conditions, delays or failures caused by problems with another system or network, mechanical breakdown or data-processing failures or where we are bound by other legal obligations.

## 14. GOVERNING LAW; VENUE

Any dispute, controversy, difference or claim arising out of or relating to this Terms, including the existence, validity, interpretation, performance, breach or termination thereof or any dispute regarding non- contractual obligations arising out of or relating to it shall be referred to and finally resolved by arbitration administered by the Hong Kong International Arbitration Centre (HKIAC) under the HKIAC Administered Arbitration Rules in force when the Notice of Arbitration is submitted. The law of this arbitration clause shall be Hong Kong law. The seat of arbitration shall be Hong Kong. The number of arbitrators shall be one. The arbitration proceedings shall be conducted in English.

You must bring any and all Disputes against us in your individual capacity and NOT as a plaintiff in or member of any purported class action, collective action, private attorney general action, or other representative proceeding. This provision applies to class arbitration. You explicitly  agree to waive the right to demand a trial by jury.

## 15. ASSIGNMENT

You may not transfer or assign these Terms or any rights or obligations you have under these Terms without our prior written consent or otherwise and any such attempted assignment shall be void. We reserve the right to freely assign or transfer these Terms and the rights and obligations of these Terms, to any third party at any time without notice or consent. If you object to such transfer or assignment, you may stop using Our Services and terminate this agreement.

## 16. THIRD PARTY CONTENT

We strive to provide accurate and reliable information and content on WOOFi, but such information may not always be correct, complete, or up to date. We will update the information on WOOFi as necessary to provide you with the most up to date information, but you should always independently verify such information. WOOFi may also contain links to third party websites, applications, events or other materials (“Third Party Content”). Such information is provided for your convenience and links or references to Third Party Content do not constitute an endorsement by our products or services. We shall have no liability for any losses incurred as a result of actions taken in reliance on the information contained on WOOFi or in any Third Party Content.

## 17. AMENDMENTS

We may amend any portion of these Terms at any time by posting the revised version of these Terms with an updated revision date. The changes will become effective, and shall be deemed accepted by you, the first time you use Our Services after the initial posting of the revised agreement and shall apply on a going-forward basis with respect to transactions initiated after the posting date. In the event that you do not agree with any such modification, your sole and exclusive remedy is to terminate your use of WOOFI. You agree that we shall not be liable to you or any third party as a result of any losses suffered by any modification or amendment of these Terms.

## 18. ENTIRE AGREEMENT

The failure of AstroLink Technology LLC to exercise or enforce any right or provision of the Agreement shall not constitute a waiver of such right or provision. If any provision of these Terms shall be adjudged by any court of competent jurisdiction to be unenforceable or invalid, that provision shall be limited or eliminated to the minimum extent necessary so that these Terms shall otherwise remain in full force and effect and remain enforceable between the parties. The headings and any explanatory text are for reference purposes only and in no way define, limit, construe, or describe the scope or extent of such section. These Terms, including AstroLink Technology LLC’s policies governing Our Services, constitute the entire agreement between you and AstroLink Technology LLC with respect to the use of Our Services.

## 19. INTELLECTUAL PROPERTY RIGHTS

We own all intellectual property and other rights in each of our Products and its respective contents, including, but not limited to, software, text, images, trademarks, service marks, copyrights, patents, designs, and its "look and feel." Subject to the Terms, we grant you a limited, revocable, non-exclusive, non-sublicensable, non-transferable license to access and use our Services solely in accordance with this Terms.  You agree that you will not use, modify, distribute, tamper with, reverse engineer, disassemble or decompile any of our Site for any purpose other than as expressly permitted pursuant to this Terms.  Except as set forth in this Terms, we grant you no rights to any of our Sites, including any intellectual property rights.

You grant to us a non-exclusive, transferable, worldwide, perpetual, irrevocable, fully-paid, royalty-free license, with the right to sublicense, under any and all intellectual property rights that you own or control to use, copy, modify, create derivative works based upon  any suggestions or feedback for any purpose.

## 20. Gas Fee

Blockchain transactions require the payment of transaction fees to the appropriate network ("Gas Fees"). Except as otherwise expressly set forth in the Terms of another offer by WOOFi, you will be solely responsible to pay the Gas Fees for any transaction that you initiate via any of our Services.

You represent and warrant that you have, or have obtained, all rights, licenses, consents, permissions, power and/or authority necessary to grant the rights granted herein for any material that you list, post, promote, or display on or through any of our Products (including, but not limited to, NFTs). You represent and warrant that such content does not contain material subject to copyright, trademark, publicity rights, or other intellectual property rights, unless you have necessary permission or are otherwise legally entitled to post the material and to grant us the license described above, and that the content does not violate any laws.

## Appendix I - Earn Product Terms of Use

1\. This Appendix consists of parts of the Terms and governs your use of the earn product provided by WOOFi (“Earn”), and it is your responsibility to abide by any regulations, laws, and orders applicable in your jurisdiction where you access and use Earn. Before accessing and using the Earn, in addition to Terms and this Appendix, you should carefully read and fully understand all the guidelines, instructions, announcements, information, tutorial and FAQ of Earn (“WOO Earn Rules” or “the Rules”). WOOFi has the full discretion to interpret the Terms and this Appendix, WOO Earn Rules, and WOOFi may amend the Terms and this Appendix, WOO Earn Rules at any time without further notice to you.&#x20;

2\. In addition to the List of unsupported countries/regions, WOOFi may prohibit participants from specific countries/ regions from joining specific events from time to time. In these certain situations, WOOFi will list the specific countries/ regions in the Rules in advance.

3\. Other subscription conditions such as the type of cryptocurrency, estimated APR, saving period, mechanism of instant redemption, etc can be referred within the WOO Earn Rules. Participants should acknowledge that the yield displayed by the Earn page on WOOFi may be an estimate and not an exact value. The decimal precision supported by us may vary depending on the different Digital Assets. You will be subject to certain working days when withdrawing your funds upon redemption request. To withdraw instantly, you can do so by toggling 'instant withdraw', specifying the amount, and clicking 'instant withdraw'. Note: this will incur a 0.3% fee. Details of the aforementioned information can be found in the WOOFi Earn Rules and Earn pages.

4\. You expressly agree and authorize AstroLink Technology LLC, in its sole discretion, to lend out part or all of your funds deposit on the Earn to market makers or other institutions, organizations we partner with to provide liquidity on WOOFi swap smart contract, to earn yield or any other benefits derived from our products for the qualified users on WOOFi or other institutions, organizations we partner with.&#x20;

5\. You agree that you shall not hold AstroLink Technology LLC liable for any damages arising from any losses due to any events out of our control (including but not limited to, hacking or other force majeure), while AstroLink Technology LLC may try to recover the funds in its sole discretion, such efforts are in no way guaranteed. &#x20;

6\. You hereby unconditionally authorize WOOFi to distribute the corresponding yield according to the WOO Earn Rules.

7\. You agree that, in any event if WOO Earn violates any applicable laws of any jurisdiction, we have the right to prohibit you from accessing the Services and deny all relevant payable yield.

8\. You should consider thoroughly the risks, including without limitation, higher price volatility, legislative or regulatory environment, operation of the project, token forks, rollbacks and any cyber attacks. You shall only make investments that you are familiar with and evaluate your investment experiences, risk tolerances, and financial situation to fully understand your investments.&#x20;

9\. Any information contained in the Earn does not constitute investment advice or any marketing, promotion or offer of any tokens or investments.

10\. WOOFi will not be responsible or liable for any losses (including, without limitation, any direct or indirect damages for loss of profits) resulting or arising directly or indirectly from your participation in any WOO Earn event.&#x20;

## Appendix II - Stake Service Terms of Use

1\. This Appendix consists of parts of the Terms and governs your use of the stake service provided by WOOFi (“Stake”), and it is your responsibility to abide by any regulations, laws, and orders applicable in your jurisdiction where you access and use Stake. Before accessing and using the Stake, in addition to Terms and this Appendix, you should carefully read and fully understand all the guidelines, instructions, announcements, information, tutorial and FAQ of Stake (“WOO Staking Rules” or “the Rules”). WOOFi has the full discretion to interpret the Terms and this Appendix, WOO Staking Rules, and WOOFi may amend the Terms and this Appendix, WOO Staking Rules at any time without further notice to you.&#x20;

2\. In addition to the List of unsupported countries/regions, WOOFi may prohibit participants from specific countries/ regions from joining specific events from time to time. In these certain situations, WOOFi will list the specific countries/ regions in the Rules in advance.

3\. WOOFi Staking establishes various tiers based on the required amount of WOO tokens staked on WOOFi, and each tier offers users multiple benefits, including but not limited to rewards generated from WOOFi Swap fee sharing, and multiplier points (MPs). You can automatically swap your Stake rewards into WOO tokens and stake them every day by turning on auto-compound. Note: you won't be able to claim staking rewards while auto-compound is enabled. You can unstake any amount of WOO at any time, but please note that you will lose an equal percentage of MPs. Details of the aforementioned information can be found in the WOOFi Staking Rules and Staking pages.&#x20;

4\. WOOFi STAKING IS NOT INTENDED TO CONSTITUTE AN OFFERING OF SECURITIES OF ANY FORM, UNITS IN A BUSINESS TRUST, UNITS IN A COLLECTIVE INVESTMENT SCHEME OR ANY OTHER FORM OF INVESTMENT IN ANY JURISDICTION.

5\. You should be aware that, during the staking period, unless you are willing to unstake instantly and bear the relevant fees, staked WOO tokens, cannot be traded, used as collateral or redeemed immediately. Additionally, you should consider thoroughly the risks, including without limitation, higher price volatility, legislative or regulatory environment changes, token forks, rollbacks and any cyber attacks. You shall only make investments that you are familiar with and evaluate your investment experiences, risk tolerances, and financial situation to fully understand your investments.&#x20;

6\. Any information contained in the WOOFi Stake does not constitute investment advice or any marketing, promotion or offer of any tokens or investments.

7\. WOOFi will not be responsible or liable for any losses (including, without limitation, any direct or indirect damages for loss of profits) resulting or arising directly or indirectly from your usage of WOOFi Staking.

8\. BY PARTICIPATING IN THE WOOFI STAKING, YOU MAY ACT AS A LIQUIDITY PROVIDER TO THE WOOFi PROTOCOL, YOU UNDERSTAND THAT YOUR DIGITAL ASSETS MAY LOSE SOME OR ALL OF THEIR VALUE WHILE THEY ARE SUPPLIED TO THE PROTOCOL DUE TO THE FLUCTUATION OF PRICES OF TOKENS IN A TRADING PAIR OR LIQUIDITY POOL.


# Welcome

These docs are intended for developers who are interfacing with or building on top of WOOFi. Whether you're a trade aggregator, yield aggregator, trader, liquidity provider, founder, web dev, arbitrageur, AMM designer, mathematician, or curious individual, this is the place for you.

## Guides

* [Integrate WOOFI as a liquidity source](/woofi-dev-docs/guides/integrate-woofi-as-liquidity-source)
* [Become a WOOFi broker](/woofi-dev-docs/guides/become-a-woofi-broker)

## References

* [Contract addresses](/woofi-dev-docs/references/readme)
* [Data APIs](/woofi-dev-docs/references/apis)

## Resources

* [Product overview](https://learn.woo.org/woofi/intro)
* [The math behind sPMM](/woofi-dev-docs/resources/the-math-behind-spmm)
* [Smart contract architecture](/woofi-dev-docs/resources/resources)
* [On-chain price feeds](/woofi-dev-docs/resources/on-chain-price-feeds)
* [Audits](https://learn.woo.org/woofi/audits)

## Can't find something?

If you're having trouble finding the answer to your question, ask for help in the `#developer` channel of the [WOO Discord](https://discord.com/invite/woonetwork). Notice something missing? You can contribute to [these docs](https://github.com/woonetwork/docs)!


# Integrate WOOFi as a liquidity source on EVM

## Contracts

There are two main contracts of WOOFi's Swap:

* `WooRouterV2.sol`: the router contract that frontend users interact with. It interacts with the lower layer `WooPPV2.sol` to execute the sell logic and send back users the desired amount of tokens. This contract also implements the logic to route user orders to 3rd party aggregator (e.g. 1inch) when `WooPPV2.sol` does not have sufficient liquidity.
* `WooPPV2.sol`: the main swap contract that handles the logic operation, including setting the token info, calculating slippage, calculating the exchange amount and executing trades. it stores all tokens that are supported for trading. In this contract, it defines quote token and base token. Quote token is the reference token (i.e. stablecoins) in the contract and there is only one quote token. The contract can have multiple base tokens and they can be added by the strategist.

## Supported assets

**Adding `IntegrationHelper.sol`**

`WooPPV2.sol` has one quote token which is typically the dominant stablecoin of each chain and multiple base tokens. A `IntegrationHelper.sol` contract is deployed on each supported chain which contains the address of the quote token and the list of tradable base token addresses in `WooPPV2.sol.`

The latest list of supported tokens can be retrieved via the `getSupportTokens()` function which will return two values:

* first value: quoteToken address
* second value: array of baseToken addresses

<figure><img src="/files/9p2cFkiiv5zsuteFtPVM" alt=""><figcaption></figcaption></figure>

#### Contract addresses:

Arbitrum: [0x28D2B949024FE50627f1EbC5f0Ca3Ca721148E40](https://arbiscan.io/address/0x28D2B949024FE50627f1EbC5f0Ca3Ca721148E40#readContract)

Avalanche: [0x020630613E296c3E9b06186f630D1bF97A2B6Ad1](https://snowtrace.io/address/0x020630613E296c3E9b06186f630D1bF97A2B6Ad1#readContract)

BSC: [0xAA9c15cd603428cA8ddD45e933F8EfE3Afbcc173](https://bscscan.com/address/0xAA9c15cd603428cA8ddD45e933F8EfE3Afbcc173)

Optimism - [0x96329d66074EB8386Ae8bFD6698B2E3FDA87e15E](https://optimistic.etherscan.io/address/0x96329d66074EB8386Ae8bFD6698B2E3FDA87e15E#readContract)

Polygon POS - [0x7Ba560eB735AbDCf9a3a5692272652A0cc81850d](https://polygonscan.com/address/0x7Ba560eB735AbDCf9a3a5692272652A0cc81850d#readContract)

zkSync Era - [0x636DfeB023463F176f87D61E3B604231986bd935](https://explorer.zksync.io/address/0x636DfeB023463F176f87D61E3B604231986bd935#contract)

Linea - [0x7e1996945eA8866DE873179DC1677E93A4380107](https://lineascan.build/address/0x7e1996945ea8866de873179dc1677e93a4380107#readContract)

Base - [0xC4E9B633685461E7B7A807D12a246C81f96F31B8](https://basescan.org/address/0xC4E9B633685461E7B7A807D12a246C81f96F31B8)

Mantle - [0x86b223E83D2FA43456b433687c8F47A35a9bE24C](https://explorer.mantle.xyz/address/0x86b223E83D2FA43456b433687c8F47A35a9bE24C)

Sonic - [0xc8521e41DE46036A61c562062862681f0060CD7E](https://sonicscan.org/address/0xc8521e41DE46036A61c562062862681f0060CD7E)

Berachain - [0x14B435b68e031226ACc4d328a69e294686C3176e](https://berascan.com/address/0x14b435b68e031226acc4d328a69e294686c3176e)

HyperEVM - [0xee8318e9d597bf9df6148e86d4e35a8bc14eea88](mailto:undefined)

Monad - [0xAeE024fAA57C4DB20ac0666a1D5297d5F1c95AfE](https://monadvision.com/address/0xAeE024fAA57C4DB20ac0666a1D5297d5F1c95AfE?tab=Contract)

## Integrate WOOFi as a liquidity source

When integrating WOOFi as a liquidity source, you can either interact with `WooRouterV2.sol` or `WooPPV2.sol`.

### Integrating `WooRouterV2.sol`

The straightforward way is interacting with `WooRouterV2.sol` contract which provides the query and swap for any two specified tokens. It streamlined the logic of swapping native blockchain assets and swapping between any of the two supported assets, which simplifies the integration for apps that do not have an existing aggregation logic.

#### Contract addresses:

* Same address across Arbitrum, Avalanche, BSC, Optimism, Polygon PoS, Linea, Base, Mantle, Sonic: `0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7`
* zkSync: `0x09873bfECA34F1Acd0a7e55cDA591f05d8a75369`

**Interface**

```solidity
    /// @dev query the amount to swap fromToken -> toToken
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of fromToken to swap
    /// @return toAmount the predicted amount to receive
    function querySwap(
        address fromToken,
        address toToken,
        uint256 fromAmount
    ) external view returns (uint256 toAmount);
    
    /// @dev query the amount to swap fromToken -> toToken,
    ///      WITHOUT checking the reserve balance; so it
    ///      always returns the quoted amount (for reference).
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of fromToken to swap
    /// @return toAmount the predicted amount to receive
    function tryQuerySwap(
        address fromToken,
        address toToken,
        uint256 fromAmount
    ) external view returns (uint256 toAmount);
    
    /// @notice Swap `fromToken` to `toToken`.
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of `fromToken` to swap
    /// @param minToAmount the minimum amount of `toToken` to receive
    /// @param to the destination address
    /// @param rebateTo the rebate address (optional, can be 0)
    /// @return realToAmount the amount of toToken to receive
    function swap(
        address fromToken,
        address toToken,
        uint256 fromAmount,
        uint256 minToAmount,
        address payable to,
        address rebateTo
    ) external payable returns (uint256 realToAmount);
```

**Sample code**

<pre class="language-solidity"><code class="lang-solidity">// Query Part
address fromToken = 0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f;  // wbtc
address toToken = 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8;    // usdc
uint256 amount1 = wooRouter.querySwap(
  fromToken, 
  toToken,
  100000000  // 1 wbtc amount in decimal 8
)

<strong>uint256 amount2 = wooRouter.tryQuerySwap(
</strong>  fromToken,
  toToken,
  100000000); // 1 wbtc amount in decimal 8

// NOTE: when the balance reserve is enough for swap, amount1 = amount2;
// otherwise, amount2 is still calculated based on wooracle price and woo market-making
// formula, but the amount1 qeury simply failed with insufficient balance error.


// Swap Part
uint256 amountIn = 100000000;
IERC20(fromToken).safeApprove(address(wooRouter), amountIn);
uint256 realToAmount = wooRouter.swap(
  fromToken,      // wbtc token address
  toToken,        // usdc token address
  amountIn,       // wbtc amount to swap in decimal 8
  19000000000,    // min amount = 19000 usdc (price: 19500)
  address(this),  // the address to receive the swap fund
  address(0)      // the rebateTo address
); 
</code></pre>

### Integrating `WooPPV2.sol`

Another way is to integrate directly with `WooPPV2.sol`. This approach is slightly more gas efficient, but it requires writing the smart contract code and manually send the `fromToken` to `WooPPV2.sol`, which a better choice for apps that already have an aggregation logic.

#### Contract addresses:

* Same address across Arbitrum, Avalanche, BSC, Optimism, Polygon PoS, Linea, Base, Mantle, Sonic: `0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4`
* zkSync Era: `0xE656d70bc3550e3EEE9dE7dC79367A44Fd13d975`

#### Interface

```solidity

    /// @notice The quote token address (immutable).
    /// @return address of quote token
    function quoteToken() external view returns (address);

    /// @notice Gets the pool size of the specified token (swap liquidity).
    /// @param token the token address
    /// @return the pool size
    function poolSize(address token) external view returns (uint256);

    /// @notice Query the amount to swap `fromToken` to `toToken`, without checking the pool reserve balance.
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of `fromToken` to swap
    /// @return toAmount the swapped amount of `toToken`
    function tryQuery(
        address fromToken,
        address toToken,
        uint256 fromAmount
    ) external view returns (uint256 toAmount);

    /// @notice Query the amount to swap `fromToken` to `toToken`, with checking the pool reserve balance.
    /// @dev tx reverts when 'toToken' balance is insufficient.
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of `fromToken` to swap
    /// @return toAmount the swapped amount of `toToken`
    function query(
        address fromToken,
        address toToken,
        uint256 fromAmount
    ) external view returns (uint256 toAmount);

    /// @notice Swap `fromToken` to `toToken`.
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of `fromToken` to swap
    /// @param minToAmount the minimum amount of `toToken` to receive
    /// @param to the destination address
    /// @param rebateTo the rebate address (optional, can be address ZERO)
    /// @return realToAmount the amount of toToken to receive
    function swap(
        address fromToken,
        address toToken,
        uint256 fromAmount,
        uint256 minToAmount,
        address to,
        address rebateTo
    ) external returns (uint256 realToAmount);

```

#### Sample code

```solidity
    IWooPPV2 public wooPool; // IWooPPV2 smart contrac
    
    function sampleFunc(...) external {
        ... your business code ..

        // query the trade
        address fromToken = WBTC_ADDR;
        address toToken = USDT_ADDR;
        uint256 amountIn = 10000000; // 0.1 btc
        
        uint256 amountOut = wooPool.query(fromToken, toToken, amountIn);
        // or wooPool.tryQuery if you don't need the swap.
 
        // swap
        IERC20(toToken).safeTransfer(address(wooPool), amountIn);
        uint256 realToAmount = wooPool.swap(
            fromToken,
            toToken,
            amountIn,
            amountOut * 99 / 100, 
            address(this),
            address(0)
        );
        
        ... other business code to deal with `toToken` ...
    }
    
```

#### Price check with Wooracle

WOOFi's oracle has a few price checks implemented. You can find the addresses of the wooracle contract in [On-chain price feeds](/woofi-dev-docs/resources/on-chain-price-feeds).

* checking against the 3rd party oracle price e.g. ChainLink and Pyth
* set the price range a swap can be executed against the current price


# Integrate WOOFi as a liquidity source on Solana

WOOFi's sPMM is Synthetic Proactive Market Making (sPMM) contract on the Solana blockchain.

#### Contract addresses:

Mainnet: [WooFif76YGRNjk1pA8wCsN67aQsD9f9iLsz4NcJ1AVb](https://solscan.io/account/WooFif76YGRNjk1pA8wCsN67aQsD9f9iLsz4NcJ1AVb)

#### WOOFi Solana Program's github repository is available [here](https://github.com/woonetwork/WOOFi_Solana).

Arichitecture Overview: [Architecture](/woofi-dev-docs/guides/integrate-woofi-as-a-liquidity-source-on-solana/architecture)

#### Rust SDK:&#x20;

[https://github.com/woonetwork/woofi\_integration/tree/main/solana/woofi-rust-sdk](<https://github.com/woonetwork/woofi_integration/tree/main/solana/woofi-rust-sdk&#xA;>)

Rust SDK Docs:[ Rust SDK Readme](/woofi-dev-docs/guides/integrate-woofi-as-a-liquidity-source-on-solana/rust-sdk)

**TypeScript SDK:** \
<https://github.com/woonetwork/woofi_integration/tree/main/solana/woofi_ts_sdk>

TypeScript SDK Docs: [TypeScript SDK Readme](/woofi-dev-docs/guides/integrate-woofi-as-a-liquidity-source-on-solana/typescript-sdk)

### Jupiter Integration

<https://github.com/woonetwork/woofi_integration/tree/main/solana/woofi-integration-jupiter>


# Rust SDK

Solana integration SDK for WOOFi Swap. ProgramId on mainnet: **WooFif76YGRNjk1pA8wCsN67aQsD9f9iLsz4NcJ1AVb**

SDK git repo: <https://github.com/woonetwork/woofi-lz-sdk>

## Rust SDK Overview:

1. sdk/src/lib.rs have functions to compose woofi swap instructions
2. client/src/main.rs have the demo usage of these instrucionts

## Rust SDK Usage:

Build:

```
cargo build
```

To test, simply run:

```
./woofi-cli try-query SOL USDC 1000000000
./woofi-cli swap USDC SOL 100000 9000
```

above try-query is query price for 1 SOL above swap will swap 0.1 USDC to SOL After swap, it will print out transaction signature and program return log

```
transaction sent, signature:63AasGTbMBQgHj9RdJ9kz5F7ZxQ9Q7nKBDoR2qHs5d6rjCC2s2tyepa6S2gDv9M5GUG4KVkNqPbDDqDsctWwA7PG
please view on explorer
Program WooFiGFK9x5FBYdvMg3pJBpAkPA8EEYiLcopwrxJvDG invoke [1]
Program log: Instruction: Swap
Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]
Program log: Instruction: Transfer
Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 168578 compute units
...
```

## Notice

Above cmd will use

```
RPC URL: https://api.mainnet-beta.solana.com 
Payer Key: ~/.config/solana/id.json
```

If you want change your own RPC URL or Payer Key, please use the following cmd:

```
./woofi-cli try-query SOL USDC 1000000000 --http-url https://api.mainnet-beta.solana.com --payer-path ~/.config/solana/id.json
./woofi-cli swap USDC SOL 100000 9000 --http-url https://api.mainnet-beta.solana.com --payer-path ~/.config/solana/id.json
```


# TypeScript SDK

Use the SDK to interact with a deployed WOOFi sPMM program via Typescript

### Typescript SDK Features

With the Typescript SDK, you can easily do the following:

* Use the WoofiClient or construct your own transactions with the raw instructions to:
  * Swap tokens on WOOFi sPMM contract
* Quotes - helper functions to help developers perform quote estimations on tasks such as:
  * Get a quote on a swap and swap fee off-chain
  * Get a quote on a swap and swap fee on-chain
* Utility classes
  * Get contract supported tokens.
  * Get pyth oracle for supported tokens (in USD).
  * Other helper functions to help interact with WOO sPMM components

### Installation & Test

In your package, run:

```
yarn
yarn build
```

### Usage

### Run Typescript tests via local validator

In the WOOFi\_Solana/sdk folder, run:

```
yarn test
```

### Generate TypeDoc

In the `sdk` folder, run `yarn run docs`

You can also see the generated TypeDoc under docs folder.

### Sample Codes

You can find sample code covering basic operations under sdk/test folder [here](https://github.com/woonetwork/WOOFi_Solana/tree/main/sdk/tests).


# Architecture

## Architecture Overview

<figure><img src="/files/RPWWuH4fA2WtsFCmHde4" alt=""><figcaption><p>WooFi's Overview</p></figcaption></figure>

### Account Structure

Here is the structure for WOOFi's Synthetic Proactive Market Making (sPMM) contract on Solana. This repository contains the Rust smart contract as well as the Typescript SDK (`@woonetwork/WOOFi_Solana`) to interact with a deployed program.

### WooConfig

A WooConfig is a config struct to record:

* authority: Owner of the program
* paused: Whether the program is paused
* Woopool's admin authority
* Wooracle's admin\_authority
* Collect fee authority
* Guardian set authority
* Pause program authority

### WooPool

A WooPool is a concentrated liquidity pool for a token.

Each WooPool account hosts the necessary information to deal with the accounting of the pool. It also hosts the PDAs to the vaults. Only the WOO sPMM program has the authority to withdraw from the vault.

A WooPool account is hashed by the WooConfig, token mint address and quote token mint address.

### WooOracle

A WooOracle is an on-chain price feed in order to simulate the order book from centralized exchanges without sacrificing capital efficiency.

WooFi in Solana uses [Pyth oracle](https://www.pyth.network/developers/price-feed-ids#solana-stable) to check whether Woo oracle's price is valid.

Detailed explanations can be found on the [WooFi Developer Portal](https://learn.woo.org/v/woofi-dev-docs/resources/on-chain-price-feeds)

### Fee rate

Fee rate settings stored in WooPool's fee\_rate param can be updated by set\_pool\_fee\_rate function by the admin.

## WOOFi's sPMM Rust Environment Setup

This repository contains the Rust smart contract as well as the Typescript SDK (`@woonetwork/WOOFi_Solana`) to interact with a deployed program.

### Requirements

* Anchor 0.29.0
* Solana 1.17.31
* Rust 1.72.0

### Setup

Install Anchor using instructions found [here](https://book.anchor-lang.com/getting_started/installation.html#anchor).

Set up a valid Solana keypair at the path specified in the `wallet` in `Anchor.toml` to do local testing with `anchor test` flows.

`$NODE_PATH` must be set to the `node_modules` directory of your global installs. For example, using Node 18.20.4 installed through `nvm`, the $NODE\_PATH is the following:

```
$ echo $NODE_PATH
/Users/<home_dir>/.nvm/versions/node/v18.20.4/lib/node_modules
```

### Usage

### Tests

* Run "cargo test --lib" to run Rust unit tests


# Become a WOOFi broker

### What are WOOFi brokers?

WOOFi's bespoke sPMM algorithm provides deep liquidity and MEV-proof trade execution on assets such as BTC, ETH, BNB, AVAX, SOL, and predominant stablecoins on each blockchain. We aim to be the liquidity layer across DeFi and other Web3 verticals.&#x20;

WOOFi has low swap fees with only 2.5bps on each transaction, in which 0.02% is shared to WOO stakers. WOOFi brokers are the applications or wallets that route trades to WOOFi smart contracts. A whitelisted broker is eligible to receive 0.5bps of each trade that is sent to WOOFi via the broker's application as rebates in the form of stablecoins.

### How to enroll as a broker to receive rebates?

Any application such as DEX aggregators, wallets, web3 apps or websites that integrate WOOFi's sPMM liquidity can enroll as a broker to receive rebates. Fill out the enrollment form below and we will get in touch.

:point\_right: [**Enrollment Form**](https://docs.google.com/forms/d/e/1FAIpQLSdTTfytZmcKLwGTl6MUxGiaou1gAXhd83roAGgNCiIkBeYtFQ/viewform?usp=sf_link)

Once the enrollment information is reviewed, our team will get in contact with you and the provided broker rebate address will be added to the whitelist in`WooRebateManager.sol` on corresponding blockchains.

In order to receive rebates, the broker needs to integrate WOOFi as a liquidity source following [integration docs](/woofi-dev-docs/guides/integrate-woofi-as-liquidity-source). For a trade to be eligible for rebates, the whitelisted rebate address must be included in the field `address rebateTo` in the transaction that is sent to WOOFi smart contracts.

### How to check and claim the rebates?

The rebate is processed on a daily basis via smart contracts, the broker can check the eligible rebates and claim anytime on the chain that WOOFi liquidity is integrated.

* Same address across Arbitrum, Avalanche, BSC, Optimism, Polygon PoS, Ethereum, Linea, Base, Mantle, Sonic: `0x7616614084e040028D6a61c0f3A9699c121A6500`
* zkSync Era: `0x66C9467eC052Fb258e24DcCe87E93A0002966014`

If you have unclaimed rebates in the deprecated `WooRebateManager` smart contracts pls check the following contract and claim asap.

<table><thead><tr><th width="184">Network</th><th>Deprecated rebate manager smart contract address</th></tr></thead><tbody><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x505ac728645d2ef84380961f72baea500b3efa3f#code">0x505ac728645d2ef84380961F72bAea500b3efa3f</a></td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.io/address/0xbf401edbb0265d037bfc89dffeb7dbda10b57c22#readContract">0xbF401edBb0265D037BfC89DfFeB7dbDa10b57C22</a><br><a href="https://snowtrace.io/address/0x49d26a6eeeb49e79a0c73b95fd99d23698d3614a">0x49d26A6Eeeb49E79a0C73B95fD99D23698D3614A</a></td></tr><tr><td>BNB Chain</td><td><a href="https://bscscan.com/address/0x0208d735576b3d974024237393f4617285bf0563#readContract">0x0208D735576B3D974024237393F4617285bf0563</a><br><a href="https://bscscan.com/address/0x4f3e0b02f50937bc21f523f1dd430a34caf4de98#code">0x4f3e0B02F50937Bc21F523F1Dd430A34cAF4de98</a><br><a href="https://bscscan.com/address/0xce7cdc8e5c00796392e611d95c713420a6e31342#code">0xce7CDc8e5C00796392E611D95C713420A6e31342</a></td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0x0d37e768c3ed8a3fa494d03af69605c5be9a68e4#readContract">0x0D37e768c3eD8a3FA494d03AF69605C5bE9a68e4</a><br><a href="https://ftmscan.com/address/0x6f09ae4925739453d7c8c9a22fd07585148dfc01#code">0x6F09AE4925739453d7C8c9a22fD07585148DFc01</a></td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0x3d605fa64595dba86f7780e128816adaaeca8a2b#code">0x3d605fA64595Dba86f7780E128816ADAAeCA8A2b</a><br><a href="https://polygonscan.com/address/0x913e116cd0e279763b0419798c0ba18f9311b390#code">0x913E116cD0E279763B0419798c0bA18F9311B390</a></td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0x36b680fb76dad86bcb2cefc83fae05e3fe147706#code">0x36b680fB76Dad86bcB2Cefc83fAE05e3Fe147706</a></td></tr><tr><td>zkSync Era</td><td><a href="https://explorer.zksync.io/address/0x921A51ee71f769715866D2Ca43D8Ac57B196347a#contract">0x921A51ee71f769715866D2Ca43D8Ac57B196347a</a></td></tr><tr><td>Polygon zkEVM</td><td><a href="https://zkevm.polygonscan.com/address/0xa2101fd320d06e0a744e4fe90ef8a20ecd027001">0xa2101FD320D06e0A744e4FE90ef8A20ECd027001</a></td></tr><tr><td>Linea</td><td><a href="https://lineascan.build/address/0xa2101fd320d06e0a744e4fe90ef8a20ecd027001">0xa2101FD320D06e0A744e4FE90ef8A20ECd027001</a></td></tr><tr><td>Base</td><td><a href="https://basescan.org/address/0x7214833BE05Ce39f6dCd97668e521162e6C18937">0x7214833BE05Ce39f6dCd97668e521162e6C18937</a></td></tr><tr><td>Mantle</td><td><a href="https://explorer.mantle.xyz/address/0xb130a49065178465931d4f887056328CeA5D723f">0xb130a49065178465931d4f887056328CeA5D723f</a></td></tr></tbody></table>

#### Check eligible rebates

* Step 1 - go to the `WooRebateManager` smart contract address using the corresponding blockchain explorer (click the link above)
* Step 2 - click 'Read Contract' under the "Contract" tab

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

* Step 3 - go to the 'pendingRebate' function, input your whitelisted rebate address and click 'Query', and you will see the current amount of claimable rebates in the quote token. i.e. stablecoins

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

#### Claim rebates

* Step 1 - visit the `WooRebateManager` smart contract address via the blockchain explorer and click the 'Write Contract' under the 'Contract' tab.

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

* Step 2 - click 'Connect to web3' and sign in with your whitelisted rebate address.

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

* Step 3 - Claim your pending rebate by clicking the 'Write' button under the 'claimRebate' function, sign the transaction in your wallet to receive the rebates.

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

**Note:** With respect to the rebates provided to WOOFi brokers, WOO  reserves the right to modify, suspend or discontinue any and all of the rules in the program at any time without the consensus of WOOFi brokers.


# The math behind sPMM

### Synthetic Proactive Market Making (sPMM)

sPMM is the core algorithm powering the WOOFi Swap, which provides the best way to simulate a CEX order book in a DEX liquidity pool.&#x20;

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

The sPMM works as follows:

WOOFi Swap gets the order book data from the centralized exchange and estimates a trade price using mid-price, spread and slippage. Define mid-price ﻿﻿﻿$$p\_0$$and spread ﻿﻿﻿$$s$$:

﻿﻿﻿$$p\_0=(p\_{bid}+p\_{ask})/2$$

$$s=(p\_{ask}-p\_{bid})/p\_0$$

﻿If a user wants to buy the minimum amount of base tokens, the executed price will be:

﻿﻿﻿$$p=p\_{ask}=p\_0\*(1+s/2)$$​

We defien$$\Delta Q$$ as the amount of quote token and $$\Delta B$$ as the amount of base token. If a user wants to buy more base tokens, slippage will be applied and the average buy price will be:

﻿﻿﻿$$p=\Delta Q/\Delta B=p\_{ask}\*(1+slippage)$$

Slippage is determined by overall market liquidity across centralized exchanges. Generally speaking, if a user trades two orders of one pair with the same USD notional value, they should have similar slippage. Assuming that quote token is a USD stable coin, we can define the liquidity coefficient $$k$$﻿﻿﻿:

﻿﻿﻿$$k=slippage/\Delta Q$$

The average buy price is:

﻿﻿﻿$$p=\Delta Q/\Delta B=p\_{ask}*(1+k*\Delta Q)$$​

We can get the sell price in the same way. The final formula is:

* Basic sell function:

﻿﻿﻿$$sellBase(ΔB) = ΔQ = ΔB \* p / (1+k*ΔB*p)$$​

* Basic buy function:

﻿﻿﻿$$sellQuote(ΔQ) = ΔB = ΔQ \* p^{-1} / (1 + k\*ΔQ)$$​

In the situation that one user sells some base tokens and another user wants to take the other side of the trade, AMMs apply the inverse of the sell base function to calculate how many quote tokens to be sent to the user, which means the liquidity provider has to pay negative slippage to the arbitrageur to bring the balance of the pool back. WOOFi Swap provides more flexibility in the rebalance strategy by adjusting the rebalance coefficient ﻿﻿﻿﻿﻿﻿$$r (0\leq r\leq 1)$$. When $$r=1$$﻿﻿﻿ the full slippage will be paid to the arbitrageur, and when ﻿﻿﻿$$r=0$$ no slippage will be paid:

* Reverse sell function:

﻿﻿﻿$$reverseSellBase(\Delta B) = \Delta B \* p / (1-k\*\Delta B*p*r)$$

* Basic buy function:

$$reverseSellQuote(\Delta Q) = \Delta Q \* p^{-1} / (1 - k \* \Delta Q \* r)$$

### Custom On-chain Price Feed

Oracle providers, such as Chainlink, have become key infrastructure of the DeFi ecosystem by pushing off-chain price data on-chain. However, in order to simulate the order book from centralized exchanges without sacrificing capital efficiency, more data than just price are needed. Along with the sPMM algorithm, WOOFi Swap uses a custom on-chain price feed that contains multiple parameters i.e. mid-price $$p$$, spread $$s$$, and liquidity coefficient $$k$$. This allows WOOFi Swap to accurately reflect the order book of the centralized liquidity source and provide competitive price quotes for traders.&#x20;

The mid-price $$p$$ is updated at 0.1% price deviation to provide a much more granular price quote on-chain. The spread $$s$$ and liquidity coefficient $$k$$ are time-weighted average values using historical data, so they are updated less frequently but can be updated immediately if market volatility rises.


# Smart contract architecture

### Architecture

<figure><img src="/files/2HO2MlnCZOcAumoOR1fW" alt=""><figcaption></figcaption></figure>

### Descriptions

1. `WooRouter.sol` is the router contract. Users will only need to approve this contract to spend their ERC20 tokens. Similar to Uniswap, approval is required to interact with any trading pair on this contract. Router contract will interact with the lower layer `WooPP.sol` to execute the sell logic and send back users the desired amount of tokens.&#x20;
2. `WooPP.sol` is the basic contract that handles the logic operation of the DEX, including setting the token info, calculating slippage, calculating the exchange amount and so on. This contract stores all tokens that are supported by trading on the WOOFi Swap. In this contract, it defines quote token and base token. Quote token is the reference token in the contract and there is only one quote token. The contract can have multiple base tokens and they can be added by the strategist.&#x20;
3. `Wooracle.sol` is an oracle contract managed and developed by WOO Network team. It uploads the latest trading price, middle price and market spread information from WOO Network to the oracle contract.
4. `WooGuardian.sol` is the smart contract that is used to perform final checkup on the trade execution. The smart contract does not process funds. It provides the tolerance threshold of prices by comparing multiple oracles. For the swap amounts and quoted prices, the functions (*i.e.*, `checkSwapAmount()` and `checkSwapPrice()`) in this smart contract are used to check if the swapping amounts and prices are within the thresholds or not.
5. `WooFeeManager.sol` collects swap fees of transactions processed in WOOFi's sPMM liquidity pool and distribute to various pools
6. `WooRebateManager.sol` collects and distributes rebates to broker addresses (if any)&#x20;
7. `WooVaultManager.sol` collects the fee allocated to vaults and executes WOO buy back before distributing to vaults
8. `WooStakingVault.sol` is the smart contract to allow users to stake WOO token and receive xWOO token. It also manages the unstaking period and penalty
9. `WooAccessManager.sol` manages the access of WOOFi smart contracts
10. `SuperChargerVault.sol` is the WOOFi Earn Supercharger smart contract that users deposit assets into
11. `LendingManager.sol` is the smart contract that the WOOFi LP interacts with to borrow, repay loans and set borrowing interests
12. `WithdrawManager.sol` stores the funds that users request for withdrawal after the settlement process
13. `YieldFarmingVault.sol` is the vault that stores assets deployed for external yield farming
14. `YieldFarmingStrategy.sol` manages the external yield farming auto-compounding strategy


# On-chain price feeds

### Intro

In order to simulate the order book from centralized exchanges without sacrificing capital efficiency, WOOFi created a custom on-chain price fee which works along side with [the sPMM algorithm](/woofi-dev-docs/resources/the-math-behind-spmm). This price feed considers multiple parameters including mid-price `p`, spread `s`, and liquidity coefficient `k`.

The price feeds use Chainlink price feeds as a fail safe. Users can call `price` to get `priceNow` and `feasible` of token. If `feasible` is `false`, do not use `priceNow` value. All prices are USDT/USDC-based, and the decimal of `priceNow` is `8 (the same in decimals as price in Chainlink Oracle)`

**Wooracle v2.2.1**

* Arbitrum address: 0xCf4EA1688bc23DD93D933edA535F8B72FC8934Ec
* Optimism address: 0xA43305Ce0164D87d7B2368f91a1dcC4eBdA75127
* Polygon PoS address: 0x2A8Ede62D0717C8C92b88639ecf603FDF31A8428
* Base address: 0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6
* Avalanche c-chain address: 0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6
* BSC address: 0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6
* Linea address: 0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6
* zkSync Era address: 0xAe45cBE2d1E90358CbD216bC16f2C9267a4EA80a
* Mantle address: 0xAe45cBE2d1E90358CbD216bC16f2C9267a4EA80a

**Note**: While the price feed is on-chain and permissionless, and tradeable by any user on WOOFi, we DO NOT guarantee the availability or accuracy of it. The price feed may become unavailable when the centralized liquidity source is in maintenance or any time the operator deems necessary. In no case, WOOFi is liable for any loss that might be caused by using the price feed by any third party.

### Code Example

#### WooracleV2 Interface

```solidity
    /**
     * @notice Returns the ChainLink price of the base token / quote token
     * @param the base token address
     * @return the Chainlink price and the price's last-update timestamp
     */
    function cloPrice(address base) external view returns (uint256 price, uint256 timestamp);

    /**
     * @notice Returns the Woo self-posted price of the base token / quote token
     * @param the base token address
     * @return the Wooracle price and the price's last-update timestamp
     */
    function woPrice(address base) external view returns (uint128 price, uint256 timestamp);

    /**
     * @notice Returns the Woo self-posted price if available, otherwise fallback to ChainLink's price.
     * @dev the price is in base token / quote token, and decimal is same as the chainlink
     *   price decimal
     * @param the base token address
     * @return the compositive price and the flag indicating the price is available or not.
     */
    function price(address base) external view returns (uint256 priceNow, bool feasible);

    /**
     * Returns the detailed state of the current base token in Wooracle.
     *
     * struct State {
     *   uint128 price;
     *   uint64 spread;
     *   uint64 coeff;
     *   bool woFeasible;
     * }
     *
     * @param the base token address
     * @return the state
     */
    function state(address base) external view returns (State memory);
```

#### ABI

Abi json could be exported in chain explorer. e.g. for Arbitrum: [WooracleV2 Code](https://arbiscan.io/address/0x962d37fb9d75fe1af9aab323727183e4eae1322d#code)

#### Python Example (python 3.8)

* Query price

```python
import web3
import json

web3_provider = f'your-web3-provider'

w3 = web3.Web3(web3.Web3.HTTPProvider(web3_provider))
abi_str = '[{"inputs": [{"internalType": "address","name": "base","type": "address"}],"name": "price","outputs": [{"internalType": "uint256","name": "priceNow","type": "uint256"},{"internalType": "bool","name": "feasible","type": "bool"}],"stateMutability": "view","type": "function"}]'
abi = json.loads(abi_str)
oracle_addr = '0x962d37fb9d75fe1af9aab323727183e4eae1322d'
contract = w3.eth.contract(address=oracle_addr, abi=abi)

# query WOO/USDT pair quoting price 
woo_addr = '0xcAFcD85D8ca7Ad1e1C6F82F651fA15E33AEfD07b'
contract.functions.price(woo_addr).call()
```

* Response

```python
# return [priceNow, feasible]
>> [181915000000000000, True]
```


# Contract Addresses


# Solana

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>WooFif76YGRNjk1pA8wCsN67aQsD9f9iLsz4NcJ1AVb</td><td>WOOFi Program</td></tr><tr><td>mjkf7dn23RrwPphKvqze2dJcTUAXnXRBSS51qGGLB4Y</td><td>SOL Wooracle</td></tr><tr><td>Dk1BiYeDuM4PPQDiNNnqaiiKHPEZ65DJSVjdcSwKt4aU</td><td>USDC wooracle</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>woo98ny1QLULqdTzpNM8PiJpwfzL5MJ9pAmLw1rfvk7</td><td>Woo OFT program</td></tr><tr><td>Dz8VutERqbHR2aFL5A3s1Ky4dG1unJT1jUFXXPaY9ytX</td><td>WOO token</td></tr><tr><td>8pvYwZhuSY2GdW6zZ3PennYnRCuGtdK3BzBkGRmQbpeN</td><td>Woo authority</td></tr></tbody></table>


# Arbitrum one

## Swap

<table><thead><tr><th width="460">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xCf4EA1688bc23DD93D933edA535F8B72FC8934Ec</td><td>WooracleV2_2_1</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2.2</td></tr><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrosswapRouterV5</td></tr><tr><td>0x28D2B949024FE50627f1EbC5f0Ca3Ca721148E40</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="458">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x401ff5f78B52EDb57aB019c8988e0Be933AaABCb</td><td>ARBRewarder</td></tr><tr><td>0xa74bB3643da439E89010743909d0493abca743d7</td><td>MpRewarder</td></tr><tr><td>0xf26Eb53367066CdE380cD06a5d1469985B92747B</td><td>RewardBooster</td></tr><tr><td>0x666e11ECe9E03640d5df20f0bd0518E2c839d04C</td><td>USDC.eRewarder</td></tr><tr><td>0xa9E245C1FA7E17263Cc7C896488A3da8072924Fb</td><td>WooStakingManager</td></tr><tr><td>0x2CFa72E7f58dc82B990529450Ffa83791db7d8e2</td><td>WooStakingLocal</td></tr><tr><td>0x93E63fc2146D596AFe4583D03cfe496FFcad5A04</td><td>WooStakingController</td></tr><tr><td>0x63a015b5E305EDcA94b9B0c27461547b3F4eA1e3</td><td>WooStakingCompounder</td></tr><tr><td>0xA186555F7b5a60c0d103c84F0Bcb98fBD27aE24a</td><td>WooBuyBackSwap</td></tr><tr><td>0x9321785D257b3f0eF7Ff75436a87141C683DC99d</td><td>stake 1.0</td></tr><tr><td>0x0CCcB28b1c47B2548cFAF1CCF27f1152f65A125e</td><td>NFTRewarder</td></tr><tr><td>0x927f8C16c9E802cB3012989Fab79eb8c098d4234</td><td>CampaignManager</td></tr><tr><td>0x2EBCA56e00E11a4b1F08DA6eb9bC97C4Bf3eE90f</td><td>NFTBooster</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="458">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xA780432f495E5C6851fd7903FE49ad77C952F7D8</td><td>WooSuperChargerVaultV2_USDC</td></tr><tr><td>0x79A5453865a39f67D3FfC7964cd760F1763Be767</td><td>WooLendingManager_USDC</td></tr><tr><td>0xE76c97897A9c3f8aAAfC3Fe86457Fe460553D3FE</td><td>WooWithdrawManagerV2_USDC</td></tr><tr><td>0x38506FBB751eBFfcF887CF5d4C7390eC0c503796</td><td>FarmingVault_USDC</td></tr><tr><td>0x679b6AbD385B60db0eFB99AD3cE6DebDF832900c</td><td>AAVEStrategy_USDC</td></tr><tr><td>0x181d8Eb2EEff20C647073c4798111Cbd1B423A60</td><td>ExternalReward_USDC</td></tr><tr><td>0xd2fdaB19b94B59C5F0E75Dd9813365Df815b56B1</td><td>SuperChargerVault_WBTC</td></tr><tr><td>0xFEecEdbc3c292db79347473a2B976a463c3aC2D6</td><td>LendingManager_WBTC</td></tr><tr><td>0xD05b953cFD75426711a904F76eb3241bad5D03ac</td><td>WithdrawManager_WBTC</td></tr><tr><td>0xea6790425aFa71d802E017Ef5b6257e42C28554a</td><td>FarmingVault_WBTC</td></tr><tr><td>0x9D71a7B0022b0C402f15808d781F0f31A63abE15</td><td>VoidStrategy_WBTC</td></tr><tr><td>0xa397fba8c5c1aef9137601c185f6ab0e9cf43662</td><td>ExternalRewar_WBTC</td></tr><tr><td>0xBdB42AAD4a2056E33Cb365F923C175A1ed044B55</td><td>AAVEStrategy_ETH</td></tr><tr><td>0xec041744884b7Ff4179e4B046f472dEC9eF13bb8</td><td>VoidStrategy_usdc.e</td></tr><tr><td>0xfBBfcCAE3f76AFc0979f20920b4d04d608F873bF</td><td>ExternalReward_ETH</td></tr><tr><td>0x4D0ec3BEF43d72D17C3718C873A75f878A06cA57</td><td>ExternalRewar_usdc.e</td></tr><tr><td>0xdF0006994c46F4d006eCb2b5aF3e212D94df23e1</td><td>ExternalRewar_ARB</td></tr><tr><td>0x7f3F2A499c00c2D7018300F99A232896fD295Bb1</td><td>SuperChargerVault_ARB</td></tr><tr><td>0x6Fc2c9f904a98cAeeEF6aABA6De625b5698F3f08</td><td>LendingManager_ARB</td></tr><tr><td>0xBFe3d22B223909A06469854E7Af374ab449F09AC</td><td>WithdrawManager_ARB</td></tr><tr><td>0x2Aa18AB5d65449892519057d965706f051823a31</td><td>FarmingVault_ARB</td></tr><tr><td>0xf80475ef92DF49527FC63A53b967d8064d476f02</td><td>VoidStrategy_ARB</td></tr><tr><td>0xba452bCc4BC52AF2fe1190e7e1dBE267ad1C2d08</td><td>SuperChargerVault_ETH</td></tr><tr><td>0x5C7Ff24fa7Af62BC25AD6747A6193183B4bb7Bc5</td><td>LendingManager_ETH</td></tr><tr><td>0xE77ADf3936F70a2Ed44f26CeD01d26c1430EAd6a</td><td>WithdrawManager_ETH</td></tr><tr><td>0x5a6B073E090388C909b9F3bf9D9323be908cAD62</td><td>SuperChargerVault_USDC.e</td></tr><tr><td>0x371A2528dCc40c77d6AAAC255fA9F796dE5D6F91</td><td>LendingManager_usdc.e</td></tr><tr><td>0x7dE3FCe3De3CdC34595eEd74773CD47b84bCa340</td><td>WithdrawManager_usdc.e</td></tr><tr><td>0x478E7F3FE49931C601e2399DdaEE8EEf2eEF6F13</td><td>farmingvault_ETH</td></tr><tr><td>0xD3d86C94a8D468Bd1328e6491ED8aCa58D850AE7</td><td>FarmingVault_usdc.e</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="469">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x4E21a65A9F4672EF2cdfb7FA6B0f1e39d6e4E50e</td><td>ProDepositor</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="470">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x968d3B4Faa87864Ab19cF2982510B60c2D416B22</td><td>STIP Merkle distributor</td></tr><tr><td>0x28F88A809cCc085956AB9f978067698d25de014C</td><td>Chainlink VRF selector</td></tr><tr><td>0xc0f8C29e3a9A7650a3F642e467d70087819926d6</td><td>RewardMasterchef</td></tr><tr><td>0xd14a997308F9e7514a8FEA835064D596CDCaa99E</td><td>WooAccessManager</td></tr></tbody></table>


# Avalanche c-chain

## Swap

<table><thead><tr><th width="462">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossswapRouterV5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2.2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0x020630613E296c3E9b06186f630D1bF97A2B6Ad1</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="460">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xcd1B9810872aeC66d450c761E93638FB9FE09DB0</td><td>Stake 1.0</td></tr><tr><td>0x3Bd96847C40De8b0F20dA32568BD15462C1386E3</td><td>StakeProxy</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="460">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x866810349B2e28E411669911bB0babb06cc60625</td><td>SuperChargerVault_AVAX</td></tr><tr><td>0x385E063DeA8908d06BE024de85dA5B8DA4b10F73</td><td>LendingManager_AVAX</td></tr><tr><td>0x755e4Af9E77a91999693947B02975c584D1B56F6</td><td>WithdrawManager_AVAX</td></tr><tr><td>0xdA442c468f77F4f90032aE8ca99850eEA2091Bfe</td><td>farmingvault_AVAX</td></tr><tr><td>0xBd904400a17eaE621C4b799bAb7217d155135166</td><td>AAVEStrategy_AVAX</td></tr><tr><td>0x91921908259559d19da415E8E407dC533BFA61EB</td><td>ExternalReward_AVAX</td></tr><tr><td>0xc0f8C29e3a9A7650a3F642e467d70087819926d6</td><td>RewardMasterchef</td></tr><tr><td>0x11B29AE3037F4526e4AA56952318e0d01ADA836A</td><td>SuperChargerVault_USDC</td></tr><tr><td>0xc8Ec7f48a82a07D95110ff26FAacde9757Dd9Dc7</td><td>LendingManager_USDC</td></tr><tr><td>0x1bB2ebecfbb4F78D83FB0A21cB415383779602C9</td><td>WithdrawManager_USDC</td></tr><tr><td>0x305F06749B98D5AA5AE48B08395615ae9466DE4D</td><td>farmingvault_USDC</td></tr><tr><td>0x3aaD22346B5721A7dDF504C19FE3349aBc52ACE5</td><td>AAVEStrategy_USDC</td></tr><tr><td>0x65003ba7c8E30e7B15903F70B36924057adfD070</td><td>ExternalReward_USDC</td></tr><tr><td>0x1CD7B33Faf4F172146BcBB841C7AdDC96802e6c4</td><td>SuperChargerVault_BTC.b</td></tr><tr><td>0x697c97A37bc00C2306f2b08CA14F3d55dB6Ffccd</td><td>LendingManager_BTC.b</td></tr><tr><td>0xA429B468d222bb31Ff256f3D08DDC0A2D8a59664</td><td>WithdrawManager_BTC.b</td></tr><tr><td>0x34C3847a9d8ff02cB50ce76d9AB6B51c610EbCde</td><td>farmingvault_BTC.b</td></tr><tr><td>0xA5e994315157e776fe0c310E48e70eb7fe8a4af3</td><td>VoidStrategy_BTC.b</td></tr><tr><td>0xA5025842791224238F5606dB1f8863c87A5A9Dc1</td><td>ExternalReward_BTC.b</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="471">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Base

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossswapRouterv5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2.2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0xC4E9B633685461E7B7A807D12a246C81f96F31B8</td><td>IntegrationHelper(token info)</td></tr><tr><td>0xF3df0A31ec5EA438150987805e841F960b9471b6</td><td>WOO OFT</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="634">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x44dF096D2600C6a6db77899dB3DE3AeCff746cb8</td><td>SuperChargerVault_USDC</td></tr><tr><td>0x73Bd3C7e44E1c228713A24448e9B7250391ACa15</td><td>LendingManager_USDC</td></tr><tr><td>0xa1bb8a8ED84A37a8c93a10Df5153E612f58e34E5</td><td>WithdrawManager_USDC</td></tr><tr><td>0xf2bE87391e2040D4CB1F646fbb023C074315E94E</td><td>FarmingVault_USDC</td></tr><tr><td>0xbeaE1B06949d033Da628bA3E5aF267C3E740494b</td><td>AAVEStrategy_USDC</td></tr><tr><td>0xB4E0bcDa51B29D9C7Bdd671F169877Cc5F82CaA9</td><td>VoidStrategy_USDC</td></tr><tr><td>0xb772122C4a37fe1754B46AB1799b909351e8Cb43</td><td>SuperChargerVault_ETH</td></tr><tr><td>0x913E116cD0E279763B0419798c0bA18F9311B390</td><td>LendingManager_ETH</td></tr><tr><td>0xe61Acb121a2B538dF495A85C4E50dD8581de4ed0</td><td>WithdrawManager_ETH</td></tr><tr><td>0x5A958b9E4370Da91498F494105BBe4C4123C513f</td><td>FarmingVault_ETH</td></tr><tr><td>0xcd1B9810872aeC66d450c761E93638FB9FE09DB0</td><td>AAVEStrategy_ETH</td></tr><tr><td>0xa79e2c96Db89ceee07784C36EE2c61468D2C97bb</td><td>VoidStrategy_cbBTC</td></tr><tr><td>0x8C603050D7a913b6f63836e07ebF385a4A5736E7</td><td>SuperChargerVault_cbBTC</td></tr><tr><td>0xb29DE0c2A884aF396272086F4Aa3F0ad2DAD747b</td><td>LendingManager_cbBTC</td></tr><tr><td>0xEc054126922a9a1918435c9072c32f1B60cB2B90</td><td>WithdrawManager_cbBTC</td></tr><tr><td>0xbA3Dd3e9109dcEaE62b7192c25976CC98e132A55</td><td>FarmingVault_cbBTC</td></tr><tr><td>0x5994Fa96660dd9c29074F30337CB7Fa609C712a5</td><td>VoidStrategy_cbBTC</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="473">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="471">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# BNB smart chain

## Swap

<table><thead><tr><th width="457">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2.2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossRouterv5</td></tr><tr><td>0xAA9c15cd603428cA8ddD45e933F8EfE3Afbcc173</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="459">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x2AEab1a338bCB1758f71BD5aF40637cEE2085076</td><td>WooStakingVault 1.0</td></tr><tr><td>0xba91ffD8a2B9F68231eCA6aF51623B3433A89b13</td><td>WOOStakingProxy</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x7eb8D4CcFDBD9dF8d3520E9C5b5edf6a5Cbe4CaD</td><td>SuperChargerVault_BNB</td></tr><tr><td>0x438baAfF63Af83549020feAD36C7de167384463a</td><td>LendingManager_BNB</td></tr><tr><td>0x2698946AD5988759fa29093e9aF99eeA12a31bb4</td><td>WithdrawManager_BNB</td></tr><tr><td>0x85f16155c6c7dA460969DDB33dbD2c7E90Ca07EC</td><td>FarmingVault_BNB</td></tr><tr><td>0x624B31119F2CC85A7EA778f39e4398b7f3f337C9</td><td>VoidStrategy_BNB</td></tr><tr><td>0xc0f8C29e3a9A7650a3F642e467d70087819926d6</td><td>RewardMasterchef</td></tr><tr><td>0xf5d6560356Cc5d7FCBf4CA20736Af88B7cfa2Ad1</td><td>ExternalReward_BNB</td></tr><tr><td>0x5CB9ba4a6f05c4125D61172E1b2C1DBe3afb3158</td><td>SuperChargerVault_USDT</td></tr><tr><td>0x0510e56EDb651Fa39c3330d2f5Bf8FbECDFcc53B</td><td>LendingManager_USDT</td></tr><tr><td>0x3cBB7F9a4e1E8a8430f1d400DF269B80B6872DeB</td><td>WithdrawManager_USDT</td></tr><tr><td>0xE897b4200E3B2380469E8Dd3F987Dc62A7ADeAD7</td><td>FarmingVault_USDT</td></tr><tr><td>0x497aBdf1438C673e6a74033098d4eb14a7f3C60f</td><td>VoidStrategy_USDT</td></tr><tr><td>0xdecc5458A0fDe482Ae04aB13BD6866cfcfA8cF4B</td><td>ExternalReward_USDT</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="466">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>FeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>RebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Ethereum

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouter</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossswapRouterV5</td></tr><tr><td>0xAd6cA80Fe4D3c54f6433fF725d744772AaE87711</td><td>WooOFTAdapter</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xba91ffD8a2B9F68231eCA6aF51623B3433A89b13</td><td>Stakeproxy</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>


# Linea

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossswapRouterv5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0x7e1996945eA8866DE873179DC1677E93A4380107</td><td>IntegrationHelper(token info)</td></tr><tr><td>0xF3df0A31ec5EA438150987805e841F960b9471b6</td><td>WooOFT</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="634">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x0fd9CE310903D3750adE5cb634860Fc7D11B3523</td><td>SuperChargerVault_USDC</td></tr><tr><td>0xC7F6Fc03539FBf6Fa79270edA7d79375c65028dD</td><td>LendingManager_USDC</td></tr><tr><td>0xaaCf2201198c8bF5f2dcd5a187754b4cb9cD9198</td><td>WithdrawManager_USDC</td></tr><tr><td>0xb772122C4a37fe1754B46AB1799b909351e8Cb43</td><td>FarmingVault_USDC</td></tr><tr><td>0x913E116cD0E279763B0419798c0bA18F9311B390</td><td>AAVEStrategy_USDC</td></tr><tr><td>0x7081A38158BD050Ae4a86e38E0225Bc281887d7E</td><td>VoidStrategy_USDC</td></tr><tr><td>0xE40d544B21B0835E09FD2642C54651499ddcb0c0</td><td>SuperChargerVault_ETH</td></tr><tr><td>0x2cf870854469e77191b65d990418559B66688dCe</td><td>LendingManager_ETH</td></tr><tr><td>0x894Edf346f121bd406442CFAee29a43c80744158</td><td>WithdrawManager_ETH</td></tr><tr><td>0x6875eb0496b6BAA0527c5915d78b9BcdC800e98f</td><td>FarmingVault_ETH</td></tr><tr><td>0x9aa935113184B06109C62e8f55a76e8c8c0a963b</td><td>AAVEStrategy_ETH</td></tr><tr><td>0xB4E0bcDa51B29D9C7Bdd671F169877Cc5F82CaA9</td><td>VoidStrategy_ETH</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="470">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="474">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Mantle

## Swap

<table><thead><tr><th width="462">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossswapRouterv5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0x86b223E83D2FA43456b433687c8F47A35a9bE24C</td><td>IntegrationHelper(token info)</td></tr><tr><td>0xF3df0A31ec5EA438150987805e841F960b9471b6</td><td>WooOFT</td></tr><tr><td></td><td></td></tr></tbody></table>

### Earn <a href="#earn" id="earn"></a>

<table><thead><tr><th width="476">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x944ebcd21Dea579B5091D141C75eC28bfE054fcA</td><td>SuperChargerVault_mETH</td></tr><tr><td>0xD6aBD5fD165fd9127b37B63aC1ab86574Bf5686e</td><td>LendingManager_mETH</td></tr><tr><td>0x8eA0eb2CEBdA4d7c88183AC8fBf3a9AE6AE07A5C</td><td>WithdrawManager_mETH</td></tr><tr><td>0xfBC49F33cb59DAaD850861d5E4D02Df923399560</td><td>farmingvault_mETH</td></tr><tr><td>0xdec7f784F655e9e505Ee137492E256685b966636</td><td>VoidStrategy_mETH</td></tr><tr><td>0x82Fde5086784e348aEd03eB7b19ded97652DB7A8</td><td>RewardMasterchef</td></tr><tr><td>0x65753506657dE6d6512df80BCBf437b7E39Ae9e3</td><td>SuperChargerVault_USDT</td></tr><tr><td>0xA8701C6A659EBddfBB399b2df6eedA853e442257</td><td>LendingManager_USDT</td></tr><tr><td>0xDDa9eF09f4d271715E2d337F71D0fC34B316c7eb</td><td>WithdrawManager_USDT</td></tr><tr><td>0xB709131900De02177f8B195CFF6C37FF5F020116</td><td>farmingvault_USDT</td></tr><tr><td>0x9aEd3A8896A85FE9a8CAc52C9B402D092B629a30</td><td>VoidStrategy_USDT</td></tr><tr><td>0x872b6ff825Da431C941d12630754036278AD7049</td><td>cmETH_SuperChargerVaultV2</td></tr><tr><td>0x2cc9938584Efa3BDF0fD19dDBB1828A672AE2376</td><td>cmETH_LendingManager</td></tr><tr><td>0xA14C57b073E6DA6BcC23FC0E6934665118F05701</td><td>cmETH_WithdrawManagerV2</td></tr><tr><td>0xb8db696e67553030f3B5C5Ee6e297b7BBCd98F55</td><td>cmETH_WOOFiVaultV2</td></tr><tr><td>0x46A7213343e68809D04cd1c88E7Fd1DD606cd86a</td><td>cmETH_VoidStrategy</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="471">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# OP mainnet

## Swap

<table><thead><tr><th width="461">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrosswapRouter v5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2.2</td></tr><tr><td>0xA43305Ce0164D87d7B2368f91a1dcC4eBdA75127</td><td>WooracleV2.2</td></tr><tr><td>0x96329d66074EB8386Ae8bFD6698B2E3FDA87e15E</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="462">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xba91ffD8a2B9F68231eCA6aF51623B3433A89b13</td><td>StakeProxy</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="467">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xB54e1d90d845d888d39dcaCBd54a3EEc0d8853B2</td><td>SuperChargerVault_ETH</td></tr><tr><td>0x1dDd225ef26714Bb8055dDCEaEE2589ba09c89ed</td><td>LendingManager_ETH</td></tr><tr><td>0x91741863A48f0B29fC0B6D10b3cdE2122feB58f7</td><td>WithdrawManager_ETH</td></tr><tr><td>0x7e1996945eA8866DE873179DC1677E93A4380107</td><td>farmingvault_ETH</td></tr><tr><td>0x95360A64447Ca746B82ABd1D0ED49f3E34F2e6E9</td><td>AaveStrategy_ETH</td></tr><tr><td>0xc0f8C29e3a9A7650a3F642e467d70087819926d6</td><td>RewardMasterchef</td></tr><tr><td>0xcA7184eA1cb4cF04d49Bf219c49a39231299dA26</td><td>SuperChargerVault_OP</td></tr><tr><td>0xD2635bc7e4E4F63B2892eD80D0b0f9Dff7eDA899</td><td>LendingManager_OP</td></tr><tr><td>0x0FAd8f10746171C0616cE4B7B4E2e9439a9a02E2</td><td>WithdrawManager_OP</td></tr><tr><td>0xa8452E2d63B29783ED2E5ca0d8D4Fe0cC2161D5B</td><td>farmingvault_OP</td></tr><tr><td>0xDa4B53F75921C109fED0ffd8AD9f22430B4c3438</td><td>voidstrategy_OP</td></tr><tr><td>0x18aa88bb25b8f15FDbE329f789dD000bf679753E</td><td>SuperChargerVault_USDC</td></tr><tr><td>0x4bAa5Fd82A455f2BfEFF4FBB91969288D7DE7316</td><td>LendingManager_USDC</td></tr><tr><td>0x2500AD59b46fF4B96f8e1EaC3fE1f78eAF955777</td><td>WithdrawManager_USDC</td></tr><tr><td>0x73504eaCB100c7576146618DC306c97454CB3620</td><td>USDC_VaultV2</td></tr><tr><td>0xfD7ed9D3d4fD88595AF6a87f798ffDB42b4D7ccB</td><td>USDC_StrategyAave</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="469">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x4E21a65A9F4672EF2cdfb7FA6B0f1e39d6e4E50e</td><td>ProDepositor</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="473">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Polygon PoS

## Swap

<table><thead><tr><th width="461">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrosswapRouterV5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPv2</td></tr><tr><td>0x2A8Ede62D0717C8C92b88639ecf603FDF31A8428</td><td>WooracleV2.2</td></tr><tr><td>0x7Ba560eB735AbDCf9a3a5692272652A0cc81850d</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="462">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x9BCf8b0B62F220f3900e2dc42dEB85C3f79b405B</td><td>Stake 1.0</td></tr><tr><td>0xba91ffD8a2B9F68231eCA6aF51623B3433A89b13</td><td>StakeProxy 2.0</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="465">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x9DD5dD86b978f17628f01307A83347d9Ec9B0699</td><td>SuperChargerVault_MATIC</td></tr><tr><td>0x9f46a7F7AFd5a595C782E57B5DAe1FcC01BFF18D</td><td>LendingManager_MATIC</td></tr><tr><td>0x382A9b0bC5D29e96c3a0b81cE9c64d6C8F150Efb</td><td>WithdrawManager_MATIC</td></tr><tr><td>0xD5BEfE3Fecdf1C941c58119a4e395806Eea0C343</td><td>farmingvault_MATIC</td></tr><tr><td>0xee840247598726a71C234F6ED9B770dBb8e03f20</td><td>VoidStrategy_MATIC</td></tr><tr><td>0x6dE98Df2005efd6793FC615bf0231de2086ae82D</td><td>ExternalReward_MATIC</td></tr><tr><td>0xc0f8C29e3a9A7650a3F642e467d70087819926d6</td><td>RewardMasterchef</td></tr><tr><td>0xeDBB74dA05D58b22F07184BB79ED9124791799Ac</td><td>SuperChargerVault_ETH</td></tr><tr><td>0x01E42CE7CDcb7a2EAaE0BB8BdCe52F0bBb63f139</td><td>LendingManager_ETH</td></tr><tr><td>0x7f78213da92552D00Bd676466aB2ef8A9287Fd4C</td><td>WithdrawManager_ETH</td></tr><tr><td>0x99Ad6e3c00DFBcd80b7593B1Cd8Fb8a9F1a2d230</td><td>Farmingvault_ETH</td></tr><tr><td>0x33706009ce9Fb3b96C0F6Bd88126B44445E77d5b</td><td>VoidStrategy_ETH</td></tr><tr><td>0x076AFF456b04A84aDB3Eb207Cb1e28EA3baB9BdB</td><td>ExternalReward_ETH</td></tr><tr><td>0x1109E03516eB25eAb2150D0b274B8D4F5F3cF549</td><td>SuperChargerVault_USDC</td></tr><tr><td>0x697c97A37bc00C2306f2b08CA14F3d55dB6Ffccd</td><td>LendingManager_USDC</td></tr><tr><td>0x3Fe2c827FF572B8fe03b7d16695c88F21448B3B9</td><td>WithdrawManager_USDC</td></tr><tr><td>0x28F88A809cCc085956AB9f978067698d25de014C</td><td>farmingvault_USDC</td></tr><tr><td>0x78aA58E5d61B525EABA8243D42451027a40705DE</td><td>AAVEStrategy_USDC</td></tr><tr><td>0x8Ec402bD731AB88928104ccF8ee5bb41d5FEC784</td><td>ExternalReward_USDC</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="466">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="469">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# zkSync Era

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x09873bfECA34F1Acd0a7e55cDA591f05d8a75369</td><td>WooRouterV2</td></tr><tr><td>0xE656d70bc3550e3EEE9dE7dC79367A44Fd13d975</td><td>WooPPV2</td></tr><tr><td>0xAe45cBE2d1E90358CbD216bC16f2C9267a4EA80a</td><td>WooracleV2.1</td></tr><tr><td>0x636DfeB023463F176f87D61E3B604231986bd935</td><td>IntegrationHelper (token info)</td></tr><tr><td>0xF38583e662d3DC8bBE9ce791f06E1Dd46800AaaF</td><td>WooOFT</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="467">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xDCA324bdD4eBB6b8a1802959324Ce125b5D57921</td><td>SuperChargerVault_USDC</td></tr><tr><td>0x17927D09b8033e2F6e37C488ea6DC4C339Ef1f6a</td><td>LendingManager_USDC</td></tr><tr><td>0xF66e17fCd5914f57ADF584457A527B1A8e5C37Ff</td><td>WithdrawManager_USDC</td></tr><tr><td>0x805b06c952e824ef7F818893FF37C8B0C2dB502a</td><td>FarmingVault_USDC</td></tr><tr><td>0xD5E4D961FD8A998dD62826e14251cc2628E270ba</td><td>VoidStrategy_USDC</td></tr><tr><td>0x1d686250BBffA9Fe120B591F5992DD7fC0FD99a4</td><td>SuperChargerVault_ETH</td></tr><tr><td>0xaEed9101c760A2a306B6B9Ed774A775Ecc9686F3</td><td>LendingManager_ETH</td></tr><tr><td>0x674db8f08620726dAC5eF787D5e1F4784a3ABC23</td><td>WithdrawManager_ETH</td></tr><tr><td>0xc5D8fC6a7E72CA1e5041d528feEF42D7bD8A770c</td><td>FarmingVault_ETH</td></tr><tr><td>0x5DaB2541175FBB2CAd3DC624Ee41917284a00fEb</td><td>VoidStrategy_ETH</td></tr><tr><td>0x85167f7f3f367E0Be7b4d3a8C2B1648f56dfdB45</td><td>SuperChargerVault_ZK</td></tr><tr><td>0x2aCE3A5F4C7384e0C7a95333E81f708B6B534873</td><td>LendingManager_ZK</td></tr><tr><td>0xF383aE33651A79290246472a0603e4c32C72386a</td><td>WithdrawManager_ZK</td></tr><tr><td>0x9aF29B3e849e187e30D622058417c094f94875cE</td><td>FarmingVault_ZK</td></tr><tr><td>0x26fb0dBe790659E5E69E3D89caC0F5967DC1B6e9</td><td>VoidStrategy_ZK</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x01B50b57a3D3C1a54433813585E60713e75f3de9</td><td>WooFeeManager</td></tr><tr><td>0x66C9467eC052Fb258e24DcCe87E93A0002966014</td><td>WooRebateManager</td></tr><tr><td>0x35a62C09427BE1BaE622d4492b851338969721B5</td><td>WooAccessManager</td></tr></tbody></table>


# Sonic

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0xc8521e41DE46036A61c562062862681f0060CD7E</td><td>IntegrationHelper (token info)</td></tr><tr><td>0xF3df0A31ec5EA438150987805e841F960b9471b6</td><td>WooOFT</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xF951175d04C94BC908CAB79FD846D3be7D0A37dd</td><td>SuperChargerVault_S</td></tr><tr><td>0x4DF34A29aabd0694A62cbF65a844E12A44617975</td><td>LendingManager_S</td></tr><tr><td>0x87bca268E282dbc00477a24883542F87D40dEB5c</td><td>WithdrawManager_S</td></tr><tr><td>0xCfe6aa6224EfAcee636Bf6Defa281D86DCbB192c</td><td>FarmingVault_S</td></tr><tr><td>0xF314FA27066bdde92e6122059B103E8899D0a096</td><td>VoidStrategy_S</td></tr><tr><td>0x1dDd225ef26714Bb8055dDCEaEE2589ba09c89ed</td><td>WooSuperChargerVaultV2_WETH</td></tr><tr><td>0x91741863A48f0B29fC0B6D10b3cdE2122feB58f7</td><td>WooLendingManager_WETH</td></tr><tr><td>0xd1D3A7D0cA508998DE5cBfb86CeCD0546F0e287C</td><td>WooWithdrawManagerV2_WETH</td></tr><tr><td>0xEe8318E9d597Bf9DF6148E86D4e35a8Bc14EEA88</td><td>Vault_WETH</td></tr><tr><td>0x64EDb6450F5a1C6158D76C1E30900fD7D8493636</td><td>VoidStrategy_WETH</td></tr><tr><td>0x758231B7D5204d08634dd3f9fCDf49FC17355d33</td><td>WooSuperChargerVaultV2_USDC.e</td></tr><tr><td>0xCC96Ba33Eae1147BA8B0C73D3dd4cEe40d681EE9</td><td>WooLendingManager_USDC.e</td></tr><tr><td>0xD5BEfE3Fecdf1C941c58119a4e395806Eea0C343</td><td>WooWithdrawManagerV2_USDC.e</td></tr><tr><td>0x5dB04B6335c26ee147AfBEc161Aff6E90239b4B8</td><td>Vault_USDC.e</td></tr><tr><td>0x2DF39335b79783b7e02AFcf552303602C14f5208</td><td>VoidStrategy_USDC.e</td></tr><tr><td>0x0FAd8f10746171C0616cE4B7B4E2e9439a9a02E2</td><td>RewardMasterchef</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# HyperEVM

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0xEe8318E9d597Bf9DF6148E86D4e35a8Bc14EEA88</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Bera Chain

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0x14B435b68e031226ACc4d328a69e294686C3176e</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xF951175d04C94BC908CAB79FD846D3be7D0A37dd</td><td>SuperChargerVault_USDC.e</td></tr><tr><td>0x4DF34A29aabd0694A62cbF65a844E12A44617975</td><td>LendingManager_USDC.e</td></tr><tr><td>0x87bca268E282dbc00477a24883542F87D40dEB5c</td><td>WithdrawManager_USDC.e</td></tr><tr><td>0xCfe6aa6224EfAcee636Bf6Defa281D86DCbB192c</td><td>FarmingVault_USDC.e</td></tr><tr><td>0xF314FA27066bdde92e6122059B103E8899D0a096</td><td>VoidStrategy_USDC.e</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Monad

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0xAeE024fAA57C4DB20ac0666a1D5297d5F1c95AfE</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Data APIs

* [Swap APIs](/woofi-dev-docs/references/apis/swap)
* [Earn & Stake APIs](/woofi-dev-docs/references/apis/earn-and-stake)


# Swap

### General Info

* The base endpoint is: [**https://fi-api.woo.org**](https://fi-api.woo.org/)
* All endpoints return JSON object.

### Stat

`GET /stat`

**Parameters**

| Name    | Type   |                               Description                              |
| ------- | ------ | :--------------------------------------------------------------------: |
| network | String | option `bsc` / `avax` / `fantom` / `polygon` / `arbitrum` / `optimism` |
| period  | String |    optional: `1d` / `1w` / `1m` / `3m` / `1y` / `all` default: `1m`    |

**period: 1d, Returns**

| Name        |  Type  | Description                                           |
| ----------- | :----: | ----------------------------------------------------- |
| id          | String | `timestamp / 3600`roun down                           |
| timestamp   | String | timestamp on the hour                                 |
| volume\_usd | String | hourly volume(value multiplied by 10^18)(unit: `USD`) |
| traders     | String | hourly number of address per hour                     |
| txs         | String | hourly number of trades per hour                      |

**period: 1w / 1m / 3m / 1y / all, Returns**

| Name                       |   Type  | Description                                          |
| -------------------------- | :-----: | ---------------------------------------------------- |
| id                         |  String | `timestamp / 86400`round down                        |
| timestamp                  |  String | UTC 0                                                |
| volume\_usd                |  String | Daily volume(value multiplied by 10^18)(unit: `USD`) |
| traders                    |  String | daily number of address                              |
| txs                        |  String | daily number of trades                               |
| turnover\_rate\_percentage | Decimal | daily turnover rate (unit: `%`)                      |

### Source Stat

`GET /source_stat`

**Params**

| Name    |  Type  | Description                                                      |
| ------- | :----: | ---------------------------------------------------------------- |
| network | String | default `''` option `bsc` / `avax` / `fantom` / `polygon`        |
| period  | String | optional: `1d` / `1w` / `1m` / `3m` / `1y` / `all` default: `1m` |

**Returns**

| Name        |   Type  | Description                                           |
| ----------- | :-----: | ----------------------------------------------------- |
| id          |  String | source id                                             |
| name        |  String | source name                                           |
| volume\_usd |  String | source volume(value multiplied by 10^18)(unit: `USD`) |
| txs         | Integer | source number of trades                               |
| percentage  | Decimal | pie chart(unit: `%`)                                  |


# Earn & Stake

### General Info

* The base endpoint is: [**https://fi-api.woo.org**](https://fi-api.woo.org/)
* All endpoints return JSON object.

### Staking

`GET /stakingv2`

**Returns**

| Name      |  Type | Description                                  |
| --------- | :---: | -------------------------------------------- |
| avg\_apr  | float | Average APR of all stakers                   |
| base\_apr | float | Base apr based on the user's staked WOO only |

### Earn

`GET /yield`

**Params**

| Name    |  Type  | Description                                                                                 |
| ------- | :----: | ------------------------------------------------------------------------------------------- |
| network | String | option: `bsc` / `avax`  / `polygon`/ `arbitrum` / `optimism` / `zksync` / `base` / `mantle` |

**Returns**

| Name              |  Type  | Description                                                   |
| ----------------- | :----: | ------------------------------------------------------------- |
| total\_deposit    | String | total deposited(value multiplied by`10^<decimals>`)(unit:USD) |
| auto\_compounding | Object | `auto-compounded`yield aggregator                             |

**Auto-Compounding Returns**

| Name              |  Type  | Description                       |
| ----------------- | :----: | --------------------------------- |
| `<Vault Address>` | Object | deposited token's `vault_address` |

**Auto-Compounding Symbol Returns**

| Name         |   Type  | Description                                                                |
| ------------ | :-----: | -------------------------------------------------------------------------- |
| symbol       |  String | target token`symbol`                                                       |
| source       |  String | target farm(lowercase)                                                     |
| apy          | Decimal | auto-compounded APR(unit: `%`)                                             |
| tvl          |  String | total deposit of single pool(value multiplied by`10^<decimals>`)(unit:USD) |
| price        | Decimal | `USD price of symbol`                                                      |
| share\_price |  String | net asset value per share                                                  |
| decimals     | Integer | `symbol decimals`, for `tvl calculation`                                   |


# Audits and bounties

## Bug Bounty

* [Immunefi bug bounty](https://immunefi.com/bounty/woofi/) - up to $100,000

## Audits

### WOOFi Swap Solana - October 2024 by Sherlock

Sherlock was engaged to conduct a contest to audit WOOFi's solana deployment of sPMM swap. Results are published [here](https://audits.sherlock.xyz/dashboard/85617a9a7bf6d34c43b0be845160efa2/fix_review_hashes), the audit report can also be found attached below.

{% file src="/files/qZtDa8gYpF3sUek1PJmv" %}

### WOOFi earn and stake - August 2024 by Zellic

[Zellic](https://www.zellic.io/) conducted an audit on WOOFi's supercharger and staking contracts, and this is the 2nd audit on these contracts. Results are published [here](https://github.com/Zellic/publications), the audit report can also be found attached below.

{% file src="/files/Num83byX0queIvv7gRuS" %}

### WOOFi Swap fix - May 2024 by Zellic

[Zellic](https://www.zellic.io/) conducted an audit on WOOFi's sPMM, oracle and router contracts to validate the fix that was implemented after the incident. Results are published [here](https://github.com/Zellic/publications), the audit report can also be found attached below.

{% file src="/files/CDoVQHU98SfMrE1Vp4O8" %}

### WOOFi Swap fix - April 2024 by Sherlock

Sherlock was engaged to conduct a contest to audit WOOFi's sPMM, oracle and router contracts to validate the fix that was implemented after the incident. Results are published [here](https://audits.sherlock.xyz/contests/277), the audit report can also be found attached below.

{% file src="/files/S8v7QWX91Oh5jj7RbpT9" %}

### WOOFi Staking v2 - May 2023

Certik conducted an audit on the WOOFi's staking v2 smart contracts, the full audit report is published [here](https://www.certik.com/projects/woofiswap) by the auditor, attachment can be found below.

{% file src="/files/GPTwztToVegg4SpeotpJ" %}

### WOOFi Swap v2 - October 2022

Certik conducted an audit on the WOOFi's swap and oracle smart contracts, the full audit report is published [here](https://www.certik.com/projects/woofiswap) by the auditor, attachment can be found below.

{% file src="/files/oS1OLgOhfgRRwsaH0lgb" %}

### WOOFi Earn Supercharger Vault - July & August 2022

Certik conducted an audit on the WOOFi Earn's Supercharger vault smart contracts, the full audit report is published [here](https://www.certik.com/projects/woofiswap) by the auditor, attachment can be found below.

{% file src="/files/NPdlTXazsdR6602XI8PE" %}

Peckshield was engaged as the second firm to conduct an audit on the WOOFi Earn's Supercharger vault smart contracts, the full audit report is published [here](https://github.com/peckshield/publications/tree/master/audit_reports/PeckShield-Audit-Report-WooFiEarn-v1.0.pdf) by the auditor, attachment can be found below.

{% file src="/files/SHIisUg8068vOqACDfsa" %}

### WOOFi Earn - February 2022

Certik conducted an audit on the WOOFi earn contracts, the full audit report is published [here](https://www.certik.com/projects/woofiswap) by the auditor, attachment can be found below.

{% file src="/files/iH4VWRlFMcM2tHBQknzJ" %}

### WOOFi Stake - December 2021

Certik conducted an audit on the WOOFi staking contracts, the full audit report is published [here](https://www.certik.com/projects/woofiswap) by the auditor, attachment can be found below.

{% file src="/files/LfbDIX74S0jlLNrDhPO5" %}

### WOOFi Swap (Alpha) - October 2021

#### CertiK

[CertiK](https://www.certik.io/) leads blockchain security by pioneering the use of cutting-edge Formal Verification technology on smart contracts and blockchains. Unlike traditional security audits, Formal Verification mathematically proves program correctness and hacker-resistance.

The full audit report is published [here](https://www.certik.org/projects/woofiswap) by the auditor, attachment can also be found below.

{% file src="/files/gKkZhONFp7i0zYd56YZe" %}

#### Verilog

Verilog is a smart contract auditing firm founded by blockchain professors, researchers, and alumni of the University of British Columbia at Vancouver, BC, Canada. All the co-founders had been working for 5+ years in Layer 1/Layer 2 and DeFi in the industry before establishing Verilog and are still leading the blockchain, DeFi, cyber security research supported by Natural Sciences and Engineering Research Council of Canada and Public Safety Canada. The people in Verilog are committed to delivering the high-quality auditing report and professional security suggestions to DeFi project teams and their investors.

The full audit report is published [here](https://hackmd.io/@verilog/woofi-swap) by the auditor.&#x20;


# \[v1] sPMM liquidity integration

## Contracts

Two main contracts of WOOFi's swap function are as follows:

* `WooPP.sol`: the main swap contract that handles the logic operation, including setting the token info, calculating slippage, calculating the exchange amount and executing trades. it stores all tokens that are supported for trading. In this contract, it defines quote token and base token. Quote token is the reference token (i.e. stablecoins) in the contract and there is only one quote token. The contract can have multiple base tokens and they can be added by the strategist.&#x20;
* `WooRouter.sol`: the router contract that frontend users interact with. It interacts with the lower layer `WooPP.sol` to execute the sell logic and send back users the desired amount of tokens. This contract also implements the logic to route user orders to 3rd party aggregator (e.g. 1inch) when `WooPP.sol` does not have sufficient liquidity.

{% hint style="info" %}
More details about WOOFi smart contract architecture, implementation info, and addresses can be found in [Broken mention](broken://pages/-MjghsEMp8oReAbgwEx-#smart-contract-addresses).
{% endhint %}

## Supported assets

`WooPP.sol` currently supports the following tokens. Quote token is the stablecoin and the rest are base tokens.&#x20;

{% tabs %}
{% tab title="BNB Chain" %}

<table><thead><tr><th width="150" align="center">Token</th><th width="491.4285714285714" align="center">Address</th></tr></thead><tbody><tr><td align="center">BNB</td><td align="center">0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE</td></tr><tr><td align="center">WBNB</td><td align="center">0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c</td></tr><tr><td align="center">BTCB</td><td align="center">0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c</td></tr><tr><td align="center">ETH</td><td align="center">0x2170ed0880ac9a755fd29b2688956bd959f933f8</td></tr><tr><td align="center">WOO</td><td align="center">0x4691937a7508860f876c9c0a2a617e7d9e945d4b</td></tr><tr><td align="center">USDT</td><td align="center">0x55d398326f99059fF775485246999027B3197955</td></tr></tbody></table>
{% endtab %}

{% tab title="Avalanche" %}

<table><thead><tr><th width="150">Token</th><th width="516.4285714285713">Address</th></tr></thead><tbody><tr><td>AVAX</td><td>0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE</td></tr><tr><td>WAVAX</td><td>0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7</td></tr><tr><td>BTC.b</td><td>0x152b9d0FdC40C096757F570A51E494bd4b943E50</td></tr><tr><td>WETH.e</td><td>0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB</td></tr><tr><td>WOO.e</td><td>0xaBC9547B534519fF73921b1FBA6E672b5f58D083</td></tr><tr><td>USDC</td><td>0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E</td></tr></tbody></table>
{% endtab %}

{% tab title="Fantom" %}

<table><thead><tr><th width="150">Token</th><th width="519.4285714285713">Address</th></tr></thead><tbody><tr><td>FTM</td><td>0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE</td></tr><tr><td>WFTM</td><td>0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83</td></tr><tr><td>BTC</td><td>0x321162Cd933E2Be498Cd2267a90534A804051b11</td></tr><tr><td>ETH</td><td>0x74b23882a30290451A17c44f4F05243b6b58C76d</td></tr><tr><td>WOO</td><td>0x6626c47c00F1D87902fc13EECfaC3ed06D5E8D8a</td></tr><tr><td>USDC</td><td>0x04068DA6C83AFCFA0e13ba15A6696662335D5B75</td></tr></tbody></table>
{% endtab %}

{% tab title="Polygon" %}

<table><thead><tr><th width="150">Token</th><th width="509.85714285714283">Address</th></tr></thead><tbody><tr><td>MATIC</td><td>0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE</td></tr><tr><td>WMATIC</td><td>0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270</td></tr><tr><td>BTC</td><td>0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6</td></tr><tr><td>ETH</td><td>0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619</td></tr><tr><td>WOO</td><td>0x1B815d120B3eF02039Ee11dC2d33DE7aA4a8C603</td></tr><tr><td>USDC</td><td>0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

## Integrate WOOFi as a liquidity source

When integrating WOOFi as a liquidity source, you can either interact directly with `WooPP.sol` or through`WooRouter.sol`.&#x20;

### Integrating `WooPP.sol` (recommended)&#x20;

For aggregators or trading bots, we recommend integrate directly with `WooPP.sol` to be more gas efficient.

#### Contract addresses:

BNB Chain: [0xbf365Ce9cFcb2d5855521985E351bA3bcf77FD3F](https://bscscan.com/address/0xbf365Ce9cFcb2d5855521985E351bA3bcf77FD3F)

Avalanche:  [0x1df3009c57a8B143c6246149F00B090Bce3b8f88](https://snowtrace.io/address/0x1df3009c57a8B143c6246149F00B090Bce3b8f88#code)

Fantom: [0x9503E7517D3C5bc4f9E4A1c6AE4f8B33AC2546f2](https://ftmscan.com/address/0x9503e7517d3c5bc4f9e4a1c6ae4f8b33ac2546f2#code)

Polygon: [0x7400B665C8f4f3a951a99f1ee9872efb8778723d](https://polygonscan.com/address/0x7400b665c8f4f3a951a99f1ee9872efb8778723d#code)

#### Interface:

```
    /// @dev get the quote token address (immutable)
    /// @return address of quote token
    function quoteToken() external view returns (address);

    /// @dev Query the amount for selling the base token amount.
    /// @param baseToken the base token to sell
    /// @param baseAmount the amount to sell
    /// @return quoteAmount the swapped quote amount
    function querySellBase(address baseToken, uint256 baseAmount) external view returns (uint256 quoteAmount);

    /// @dev Query the amount for selling the quote token.
    /// @param baseToken the base token to receive (buy)
    /// @param quoteAmount the amount to sell
    /// @return baseAmount the swapped base token amount
    function querySellQuote(address baseToken, uint256 quoteAmount) external view returns (uint256 baseAmount);

    /// @dev Swap baseToken into quoteToken
    /// @param baseToken the base token
    /// @param baseAmount amount of baseToken that user want to swap
    /// @param minQuoteAmount minimum amount of quoteToken that user accept to receive
    /// @param to quoteToken receiver address
    /// @param rebateTo the wallet address for rebate
    /// @return quoteAmount the swapped amount of quote token
    function sellBase(
        address baseToken,
        uint256 baseAmount,
        uint256 minQuoteAmount,
        address to,
        address rebateTo
    ) external returns (uint256 quoteAmount);

    /// @dev Swap quoteToken into baseToken
    /// @param baseToken the base token
    /// @param quoteAmount amount of quoteToken that user want to swap
    /// @param minBaseAmount minimum amount of baseToken that user accept to receive
    /// @param to baseToken receiver address
    /// @param rebateTo the wallet address for rebate
    /// @return baseAmount the swapped amount of base token
    function sellQuote(
        address baseToken,
        uint256 quoteAmount,
        uint256 minBaseAmount,
        address to,
        address rebateTo
    ) external returns (uint256 baseAmount);
```

#### Query & swap functions

```
    address public immutable pool; // IWooPP smart contract
    
    function query(
        uint _amountIn, 
        address _tokenIn, 
        address _tokenOut
    ) internal override view returns (uint256 amountOut) {
        if (_amountIn == 0) { 
            return 0; 
        }
        if (_tokenIn == quoteToken) {
            amountOut = IWooPP(pool).querySellQuote(_tokenOut, _amountIn);
        } else if (_tokenOut == quoteToken) {
            amountOut = IWooPP(pool).querySellBase(_tokenIn, _amountIn);
        } else {
            uint quoteAmount = IWooPP(pool).querySellBase(_tokenIn, _amountIn);
            amountOut = IWooPP(pool).querySellQuote(_tokenOut, quoteAmount);
        }
    }

    function swap(
        uint _amountIn, 
        uint _amountOut, 
        address _tokenIn, 
        address _tokenOut, 
        address _to
    ) external returns (uint256 realToAmount) {
        // check parameters and approve the allowrance if needed
    
        if (_tokenIn == quoteToken) {
            // case 1: quoteToken --> baseToken
            realToAmount = IWooPP(pool).sellQuote(
                _tokenOut,
                _amountIn,
                _amountOut,
                _to,
                address(0)
            );
        } else if (_tokenOut == quoteToken) {
            // case 2: fromToken --> quoteToken
            realToAmount = IWooPP(pool).sellBase(
                _tokenIn, 
                _amountIn, 
                _amountOut, 
                _to, 
                address(0)
            );
        } else {
            // case 3: fromToken --> quoteToken --> toToken
            uint256 quoteAmount = IWooPP(pool).sellBase(
                _tokenIn, 
                _amountIn, 
                0, 
                address(this), 
                address(0)
            );
            _approveIfNeeded(quoteToken, quoteAmount);
            realToAmount = IWooPP(pool).sellQuote(
                _tokenOut, 
                quoteAmount, 
                _amountOut, 
                _to, 
                address(0)
            );
        }

        // emit events if needed
    }
```

#### Sample integration code (Yield Yak)&#x20;

<https://snowtrace.io/address/0xa64c5c58fc1510de3ff2ee644e030d666b660ea6#code>&#x20;

### Integrating `WooRouter.sol`&#x20;

A simpler way is calling `WooRouter.sol` contract which provides the similar query and swap as above. This way costs slightly more gas than directly integrating with `WooPP.sol`.

#### Contract addresses

BNB Chain: [0xcef5be73ae943b77f9bc08859367d923c030a269](https://bscscan.com/address/0xcef5be73ae943b77f9bc08859367d923c030a269#code)

Avalanche: [0x5AA6a4E96A9129562e2fc06660D07FEdDAAf7854](https://snowtrace.io/address/0x5AA6a4E96A9129562e2fc06660D07FEdDAAf7854#code)

Fantom: [0x37b5a5a730dad670874f26cc5507bb1b9705e447](https://ftmscan.com/address/0x37b5a5a730dad670874f26cc5507bb1b9705e447#code)

Polygon: [0x9D1A92e601db0901e69bd810029F2C14bCCA3128](https://polygonscan.com/address/0x9d1a92e601db0901e69bd810029f2c14bcca3128#code)

**Query function**

```solidity
    /// @dev query the amount to swap fromToken -> toToken
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of fromToken to swap
    /// @return toAmount the swapped amount to receive
    function querySwap(
        address fromToken,
        address toToken,
        uint256 fromAmount
    ) external view returns (uint256 toAmount);
```

Sample code to retrieve quote on selling 1 BTC:

```solidity
wooRouter.querySwap(
  0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c, // btcb token address
  0x55d398326f99059fF775485246999027B3197955, // usdt token address
  1000000000000000000);                       // btcb amount to swap in decimal 18
```

**Swap function**

```solidity
    /// @dev swap fromToken -> toToken
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of fromToken to swap
    /// @param minToAmount the minimum amount of toToken required or the tx reverts
    /// @param to the destination address
    /// @param rebateTo the address to receive rebate (rebate rate is set to 0 now)
    /// @return realToAmount the amount of toToken to receive
    function swap(
        address fromToken,
        address toToken,
        uint256 fromAmount,
        uint256 minToAmount,
        address payable to,
        address rebateTo
    ) external payable returns (uint256 realToAmount);
```

Sample code to swap 1 BTC to USDT:

```solidity
wooRouter.swap(
  0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c, // btcb token address
  0x55d398326f99059fF775485246999027B3197955, // usdt token address
  1000000000000000000,                        // btcb amount to swap in decimal 18
   990000000000000000,                        // min amount for 1% slippage
  0xd51062A4aF7B76ee0b2893Ef8b52aCC155393E3D, // the address to receive the swap fund
  0);                                         // the rebate address

```

## sPMM offchain simulation

For aggregators running offchain routing simulation, you can find the typescript implementation of WOOFi's sPMM algorithm in the [github](https://github.com/woonetwork/woofi_swap_smart_contracts/tree/main/integration).&#x20;


# \[v1] On-chain price feeds

### Intro

In order to simulate the order book from centralized exchanges without sacrificing capital efficiency, WOOFi created a custom on-chain price fee which works along side with [the sPMM algorithm](broken://pages/ki9mDTLTCs8qRZOeelnT#synthetic-proactive-market-making-spmm). This price feed considers multiple parameters including mid-price $$p$$, spread $$s$$, and liquidity coefficient $$k$$.

WOOFi's on-chain price feeds are deployed on multiple blockchains. Users can call `price` to get `priceNow` and `feasible` of token. If `feasible` is `false`, do not use `priceNow` value. All prices are USDT/USDC-based, and the decimal of `priceNow` is `18 - base_decimal + quote_decimal`.

* BNB Chain Contract address: [`0x6b6fBEc7934b104e81b2046D24A990e03e17afDC`](https://bscscan.com/address/0x6b6fBEc7934b104e81b2046D24A990e03e17afDC#code)
* Avalanche C-Chain Contract address: [`0x25a4d4a094A084c7ad45Ac273cF7D6B6bfae7D4E`](https://snowtrace.io/address/0x25a4d4a094A084c7ad45Ac273cF7D6B6bfae7D4E#code)
* Fantom Contract address: [`0x209102c0D2E34282494114ea76D5251c8e7Ea7ab`](https://ftmscan.com/address/0x209102c0d2e34282494114ea76d5251c8e7ea7ab#code)
* Polygon Contract address: [`0x2Fe5E5D341cFFa606a5d9DA1B6B646a381B0f7ec`](https://polygonscan.com/address/0x2Fe5E5D341cFFa606a5d9DA1B6B646a381B0f7ec#code)

{% hint style="warning" %}
While the price feed is on-chain and permissionless, and tradeable by any user on WOOFi, we DO NOT garanutee the availability or accuracy of it. The price feed may become unavailable when the centralized liquidity source is in maintenance or any time the operator deems necessary. In no case, WOOFi is liable for any loss that might be caused by using the price feed by any third party.&#x20;
{% endhint %}

### Code Example

#### Contract ABI

```json
[
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "base",
                "type": "address"
            }
        ],
        "name": "price",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "priceNow",
                "type": "uint256"
            },
            {
                "internalType": "bool",
                "name": "feasible",
                "type": "bool"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    }
]
```

#### Python Example (python 3.8)

* Query price

```python
import web3
import json

web3_provider = f'your-web3-provider'

w3 = web3.Web3(web3.Web3.HTTPProvider(web3_provider))
abi_str = '[{"inputs": [{"internalType": "address","name": "base","type": "address"}],"name": "price","outputs": [{"internalType": "uint256","name": "priceNow","type": "uint256"},{"internalType": "bool","name": "feasible","type": "bool"}],"stateMutability": "view","type": "function"}]'
abi = json.loads(abi_str)
oracle_addr = '0x6b6fBEc7934b104e81b2046D24A990e03e17afDC'
contract = w3.eth.contract(address=oracle_addr, abi=abi)

# query WOO/USDT pair quoting price 
woo_addr = '0x4691937a7508860F876c9c0a2a617E7d9E945D4B'
contract.functions.price(woo_addr).call()
```

* Response

```python
# return [priceNow, feasible]
>> [841915000000000000, True]
```


# Legacy contracts

<details>

<summary><strong>Avalanche deployment</strong></summary>

### Swap

* WooRouter - [0x5AA6a4E96A9129562e2fc06660D07FEdDAAf7854](https://snowtrace.io/address/0x5AA6a4E96A9129562e2fc06660D07FEdDAAf7854#code)
* CrossswapRouter v1 - [0xdF37F7A85D4563f39A78494568824b4dF8669B7a](https://snowtrace.io/address/0xdf37f7a85d4563f39a78494568824b4df8669b7a#code)
* CrossSwapRouter v2 - [0x1E6bB552ac038c6AFB6EC5Db6B06fDd106e31e33](https://snowtrace.io/address/0x1e6bb552ac038c6afb6ec5db6b06fdd106e31e33#code)
* CrossswapRouter v2.1 - [0x51AF494f1B4d3f77835951FA827D66fc4A18Dae8](https://snowtrace.io/address/0x51af494f1b4d3f77835951fa827d66fc4a18dae8)
* CrossswapRouterV3 - [0xe47Fec1c72850d867a1655C4C5902de7728CA205](https://snowtrace.io/address/0xe47fec1c72850d867a1655c4c5902de7728ca205#readContract)
* WooPP - [0x1df3009c57a8B143c6246149F00B090Bce3b8f88](https://snowtrace.io/address/0x1df3009c57a8B143c6246149F00B090Bce3b8f88#code)
* Wooracle - [0x25a4d4a094A084c7ad45Ac273cF7D6B6bfae7D4E](https://snowtrace.io/address/0x25a4d4a094A084c7ad45Ac273cF7D6B6bfae7D4E#code)
* WooracleV2 - [0x9ACA557590F5020BDA4Ba63065Fc3A1253Bf8000](https://snowtrace.io/address/0x9aca557590f5020bda4ba63065fc3a1253bf8000)
* WooRouter - [0xC22FBb3133dF781E6C25ea6acebe2D2Bb8CeA2f9](https://snowtrace.io/address/0xc22fbb3133df781e6c25ea6acebe2d2bb8cea2f9#code)

### Earn

#### **AVAX Supercharger vault**

* SuperChargerVault - [0xFC0E57b5F8adCadc5e6E37578bb9Aa30cEe312Af](https://snowtrace.io/address/0xfc0e57b5f8adcadc5e6e37578bb9aa30cee312af#code)
* LendingManager - [0x113d31A32734A8526572E77a0779Bd242cb71a73](https://snowtrace.io/address/0x113d31a32734a8526572e77a0779bd242cb71a73#code)
* WithdrawManager - [0xec041744884b7Ff4179e4B046f472dEC9eF13bb8](https://snowtrace.io/address/0xec041744884b7ff4179e4b046f472dec9ef13bb8#code)
* AAVEfarmingstrategy - [0x2EEA9a5f8c77125bc1712AC751F04506C7023576](https://snowtrace.io/address/0x2eea9a5f8c77125bc1712ac751f04506c7023576#code)

#### **USDC Supercharger vault**

* SuperChargerVault - [0x86A6391D5d7C02245927E2DC0cBFa3e5F1B9aBC7](https://snowtrace.io/address/0x86a6391d5d7c02245927e2dc0cbfa3e5f1b9abc7#code)
* LendingManager - [0xECCc8316fF1d48d0780AE387b8D240C1Df731Fd8](https://snowtrace.io/address/0xeccc8316ff1d48d0780ae387b8d240c1df731fd8#code)
* WithdrawManager - [0xc05a4d0Bf81215De05E8a3C50167d7c2BA1D5Cf9](https://snowtrace.io/address/0xc05a4d0bf81215de05e8a3c50167d7c2ba1d5cf9#code)
* AAVEfarmingstrategy - [0xDe162C2d7c0587c51a739a3Ebb8DEF8dF3668A93](https://snowtrace.io/address/0xde162c2d7c0587c51a739a3ebb8def8df3668a93#code)

#### BTC.b Supercharger vault

* AAVEfarmingstrategy - [0xfC659F700a3C3CDB461DC4434336bC15b6984B08](https://snowtrace.io/address/0xfc659f700a3c3cdb461dc4434336bc15b6984b08#code)

#### AVAX (Banker Joe)&#x20;

* vault - [0xC7498b7e7C9845b4B2556f2a4B7Cad2B7F2C0dC4](https://snowtrace.io/address/0xc7498b7e7c9845b4b2556f2a4b7cad2b7f2c0dc4#code)
* strategy - [0xf60d272945c870E8dbFD02Bf0339D5650646115d](https://snowtrace.io/address/0xf60d272945c870e8dbfd02bf0339d5650646115d#code)

#### USDT.e (Banker Joe)&#x20;

* vault - [0x40C90C067868e68067db7359f67ef69E60632219](https://snowtrace.io/address/0x40c90c067868e68067db7359f67ef69e60632219#code)
* strategy - [0x938021351425dbfa606Ed2B81Fc66952283e0Dd5](https://snowtrace.io/address/0x938021351425dbfa606ed2b81fc66952283e0dd5#code)

#### USDC.e (Banker Joe)&#x20;

* vault - [0xb29DE0c2A884aF396272086F4Aa3F0ad2DAD747b](https://snowtrace.io/address/0xb29de0c2a884af396272086f4aa3f0ad2dad747b#code)
* strategy - [0xEc054126922a9a1918435c9072c32f1B60cB2B90](https://snowtrace.io/address/0xec054126922a9a1918435c9072c32f1b60cb2b90#code)

#### DAI.e (Benqi)&#x20;

* vault - [0x7081A38158BD050Ae4a86e38E0225Bc281887d7E](https://snowtrace.io/address/0x7081a38158bd050ae4a86e38e0225bc281887d7e#code)
* strategy - [0xAc9244551807A82207C9ff86Ce16492091d2eddB](https://snowtrace.io/address/0xac9244551807a82207c9ff86ce16492091d2eddb#code)

#### PTP-AVAX (Trader Joe)

* vault - [0x26C37d0917F73916Ea35861Cd00f2105086F790f](https://snowtrace.io/address/0x26c37d0917f73916ea35861cd00f2105086f790f#code)
* strategy - [0x2a8b29301C910AE1Ae17156E4f7B01eb8f72Eb05](https://bscscan.com/address/0x2a8b29301C910AE1Ae17156E4f7B01eb8f72Eb05#code)

#### sAVAX-AVAX (Trader Joe)&#x20;

* vault - [0x505ac728645d2ef84380961F72bAea500b3efa3f](https://snowtrace.io/address/0x505ac728645d2ef84380961f72baea500b3efa3f#code)
* strategy - [0x1f79f8A65E02f8A137ce7F79C038Cc44332dF448](https://snowtrace.io/address/0x1f79f8a65e02f8a137ce7f79c038cc44332df448#code)

#### WETH.e-AVAX (Trader Joe)&#x20;

* vault - [0x6eEb59D15955d99aAe8469243d25648719b6a65a](https://snowtrace.io/address/0x6eeb59d15955d99aae8469243d25648719b6a65a#code)
* strategy - [0x0176A42A277e6E466cF62eB37E62Dda5400d6586](https://snowtrace.io/address/0x0176a42a277e6e466cf62eb37e62dda5400d6586#code)

#### aTriCrypto (Curve)&#x20;

* vault - [0xDa4B53F75921C109fED0ffd8AD9f22430B4c3438](https://snowtrace.io/address/0xda4b53f75921c109fed0ffd8ad9f22430b4c3438#code)
* strategy - [0xA02E9Fb38bE9363de9aAbB362ccA50a28E00a996](https://snowtrace.io/address/0xa02e9fb38be9363de9aabb362cca50a28e00a996#code)

#### USDT-USDT.e LP (Trader Joe)&#x20;

* vault - [0x872b6ff825Da431C941d12630754036278AD7049](https://snowtrace.io/address/0x872b6ff825da431c941d12630754036278ad7049#code)
* strategy - [0x2cc9938584Efa3BDF0fD19dDBB1828A672AE2376](https://snowtrace.io/address/0x2cc9938584efa3bdf0fd19ddbb1828a672ae2376#code)

#### USDC.e-UST LP (Trader Joe)&#x20;

* vault - [0xCdC155227339cb436F3777877d102b4561f20578](https://snowtrace.io/address/0xcdc155227339cb436f3777877d102b4561f20578#code)
* strategy - [0x7586406064a3f9c061b82e1902599526986307b5](https://snowtrace.io/address/0x7586406064a3f9c061b82e1902599526986307b5#code)

#### USDC (Playtupus\&Vector Finance)&#x20;

* vault - [0xB2280fd71b64791B0B145b289A72473bCd81a073](https://snowtrace.io/address/0xb2280fd71b64791b0b145b289a72473bcd81a073#code)
* strategy - [0xc2d59Fe9BC5f57b2409AfE3714Aea40b4279C2c6](https://snowtrace.io/address/0xc2d59fe9bc5f57b2409afe3714aea40b4279c2c6#code)

#### USDT (Playtypus\&Vector Finance)&#x20;

* vault - [0x56894633Ec6D62F6ECC334c008D922df0D00FAfc](https://snowtrace.io/address/0x56894633ec6d62f6ecc334c008d922df0d00fafc#code)
* strategy - [0x24408DEec3d54a7abcf6ff09682E0d5047aA3EdA](https://snowtrace.io/address/0x24408deec3d54a7abcf6ff09682e0d5047aa3eda#code)

#### USDC (Stargate Finance)&#x20;

* vault - [0x0c90447b662C2FcB62DC104DFC4563D0dd4be49e](https://snowtrace.io/address/0x0c90447b662c2fcb62dc104dfc4563d0dd4be49e#code)
* strategy - [0xc004e26BaE20f8AF5846C29419dc652Feb75c639](https://snowtrace.io/address/0xc004e26bae20f8af5846c29419dc652feb75c639#code)

#### USDT (Stargate Finance)&#x20;

* vault - [0xc48AB731967A704e85A406DD619D29D62DE2e112](https://snowtrace.io/address/0xc48ab731967a704e85a406dd619d29d62de2e112#code)
* strategy - [0x3c53790198DDe8603f78eC0250Ee4066E179f890](https://snowtrace.io/address/0x3c53790198dde8603f78ec0250ee4066e179f890#code)

### Peripheries

* WooFeeManager - [0xDd7F14eE69df57fD78791c4b1F697395b9bD79Cf](https://snowtrace.io/address/0xdd7f14ee69df57fd78791c4b1f697395b9bd79cf#code)
* WooRebateManager - [0xbF401edBb0265D037BfC89DfFeB7dbDa10b57C22](https://snowtrace.io/address/0xbf401edbb0265d037bfc89dffeb7dbda10b57c22#readContract)
* WooVaultManager - [0x48419c93D0d3b2428cD02bbCdeaBD3aAFC107f85](https://snowtrace.io/address/0x48419c93d0d3b2428cd02bbcdeabd3aafc107f85#code)
* WooAccessManager - [0x3F93ECed5AD8185f1c197acd17f8a2eB06051365](https://snowtrace.io/address/0x3f93eced5ad8185f1c197acd17f8a2eb06051365#code)
* WooGuardian - [0x58c73f7e102bc6bcdc6b092ef0399b3e06d6b3e3](https://snowtrace.io/address/0x58c73f7e102bc6bcdc6b092ef0399b3e06d6b3e3)

</details>

<details>

<summary>BSC deployment</summary>

### Swap

* WooRouter - [0xcef5be73ae943b77f9bc08859367d923c030a269](https://bscscan.com/address/0xcef5be73ae943b77f9bc08859367d923c030a269#code)
* CrossswapRouter v1 - [0x53E255e8Bbf4EDF16797f9885291B3Ca0C70B59f](https://bscscan.com/address/0x53e255e8bbf4edf16797f9885291b3ca0c70b59f#code)
* CrossSwapRouter v2 - [0xd12d239b781e34e0aaa106159940803a07e31a67](https://bscscan.com/address/0xd12d239b781e34e0aaa106159940803a07e31a67#code)
* CrossswapRouter v2.1 - [0x81004C9b697857fD54E137075b51506c739EF439](https://bscscan.com/address/0x81004c9b697857fd54e137075b51506c739ef439#code)
* CrossswapRouter v3 - [0xe47Fec1c72850d867a1655C4C5902de7728CA205](https://bscscan.com/address/0xe47fec1c72850d867a1655c4c5902de7728ca205#readContract)
* WooPP - [0xbf365Ce9cFcb2d5855521985E351bA3bcf77FD3F](https://bscscan.com/address/0xbf365Ce9cFcb2d5855521985E351bA3bcf77FD3F)
* Wooracle - [0x6b6fBEc7934b104e81b2046D24A990e03e17afDC](https://bscscan.com/address/0x6b6fBEc7934b104e81b2046D24A990e03e17afDC)
* WooracleV2 - [0x4B11B9BfAafA840c436a1ddDc13D3738C8ebfD62](https://bscscan.com/address/0x4b11b9bfaafa840c436a1dddc13d3738c8ebfd62)
* WooRouter (BUSD) - [0xC90bFE9951a4Efbf20aCa5ECd9966b2bF8A01294](https://bscscan.com/address/0xc90bfe9951a4efbf20aca5ecd9966b2bf8a01294#code)
* WooPP (BUSD) - [0xEc054126922a9a1918435c9072c32f1B60cB2B90](https://bscscan.com/address/0xec054126922a9a1918435c9072c32f1b60cb2b90#code)
* Wooracle (BUSD) - [0x747f99D619D5612399010Ec5706F13e3345c4a9E](https://bscscan.com/address/0x747f99d619d5612399010ec5706f13e3345c4a9e#code)
* IntegrationHelper (BUSD) - [0xe12dC1F01ccB71ef00ADd1D8A5116b905261D879](https://bscscan.com/address/0xe12dC1F01ccB71ef00ADd1D8A5116b905261D879#readContract)
* WooRouter - [0x4f4Fd4290c9bB49764701803AF6445c5b03E8f06](https://bscscan.com/address/0x4f4Fd4290c9bB49764701803AF6445c5b03E8f06)

### Earn

**BUSD Supercharger vault**

* SuperChargerVault - [0xee7AC4d3D3a51De966078809fC7A91834f5EA3B9](https://bscscan.com/address/0xee7ac4d3d3a51de966078809fc7a91834f5ea3b9#code)
* LendingManager - [0x2CAa3E79bC0e23AbF31DFbcebaE992BCAD4e7C7A](https://bscscan.com/address/0x2caa3e79bc0e23abf31dfbcebae992bcad4e7c7a#code)
* WithdrawManager - [0xb3bd9C851bd8330d5C4cf4565FAe4f175e25417C](https://bscscan.com/address/0xb3bd9c851bd8330d5c4cf4565fae4f175e25417c#code)
* Alpacafarmingvault - [0x45c3a5Cb452E5468e47c53a8C71e30fdAcf73239](https://bscscan.com/address/0x45c3a5Cb452E5468e47c53a8C71e30fdAcf73239#code)
* Alpacafarmingstrategy - [0xf667e52e87Ff3411C2D5E311191072543b4dd69B](https://bscscan.com/address/0xf667e52e87Ff3411C2D5E311191072543b4dd69B#code)

#### **BNB Supercharger vault v1**

* SuperChargerVault - [0x0ba6C34aF9713D15141dcc91d2788c3F370ecb9E](https://bscscan.com/address/0x0ba6c34af9713d15141dcc91d2788c3f370ecb9e#code)
* LendingManager - [0xA2f2D3A7D6C9D20b988978a01214e89BCDD4D673](https://bscscan.com/address/0xa2f2d3a7d6c9d20b988978a01214e89bcdd4d673#code)
* WithdrawManager - [0xd2565058287Aee9C3C8297d2BC9Ec11CD507127C](https://bscscan.com/address/0xd2565058287aee9c3c8297d2bc9ec11cd507127c#code)
* Alpacafarmingvault - [0x85f16155c6c7dA460969DDB33dbD2c7E90Ca07EC](https://bscscan.com/address/0x85f16155c6c7dA460969DDB33dbD2c7E90Ca07EC#code)
* Alpacafarmingstrategy - [0x2a8b29301C910AE1Ae17156E4f7B01eb8f72Eb05](https://bscscan.com/address/0x2a8b29301C910AE1Ae17156E4f7B01eb8f72Eb05#code)

#### **USDT Supercharger vault v1**

* SuperChargerVault - [0xDb1d990f48328Ff71197336900057026EDcdfbc2](https://bscscan.com/address/0xdb1d990f48328ff71197336900057026edcdfbc2#code)
* LendingManager - \
  [0x2f22c381a20E228306085Aa3DEa15c6992254D7E](https://bscscan.com/address/0x2f22c381a20e228306085aa3dea15c6992254d7e#code)
* WithdrawManager - \
  [0x44Ceb176612E0b536666a1eDE91cCcA93D4ae316](https://bscscan.com/address/0x44ceb176612e0b536666a1ede91ccca93d4ae316#code)
* Alpacafarmingvault - \
  [0xE897b4200E3B2380469E8Dd3F987Dc62A7ADeAD7](https://bscscan.com/address/0xE897b4200E3B2380469E8Dd3F987Dc62A7ADeAD7#code)
* Alpacafarmingstrategy - [0xAaB8a82fc1cd5F7D2bae5AA39663248b3ff27181](https://bscscan.com/address/0xaab8a82fc1cd5f7d2bae5aa39663248b3ff27181#code)

#### WOO-BNB (PancakeSwap)&#x20;

* vault - [0x2209a02638a71Cde360e1FeBD704baDAca112361](https://bscscan.com/address/0x2209a02638a71cde360e1febd704badaca112361#code)
* strategy - [0x2Cf1173a0000c9cea2fD0EC3BFe666abd9a9e1aC](https://bscscan.com/address/0x2cf1173a0000c9cea2fd0ec3bfe666abd9a9e1ac#code)

#### ETH-BNB (PancakeSwap)&#x20;

* vault - [0x721986200aCa84eA1c69e009e384BA5544030D7C](https://bscscan.com/address/0x721986200aca84ea1c69e009e384ba5544030d7c#code)
* strategy -[0xfCeb41A029C31a2A449b7406398b65D1093A4961](https://bscscan.com/address/0xfceb41a029c31a2a449b7406398b65d1093a4961#code)

#### BTC-BNB (PancakeSwap)&#x20;

* vault - [0x5edD5eBF88875e508f908113d15C2d1F54B5F4d0](https://bscscan.com/address/0x5edd5ebf88875e508f908113d15c2d1f54b5f4d0#code)
* strategy - [0x3C1fC3Ca2F20EbbC59f528BBCaabbC7690Aa967D](https://bscscan.com/address/0x3c1fc3ca2f20ebbc59f528bbcaabbc7690aa967d#code)

#### BNB (Alpaca Finance)

* vault - [0x85f16155c6c7dA460969DDB33dbD2c7E90Ca07EC](https://bscscan.com/address/0x85f16155c6c7dA460969DDB33dbD2c7E90Ca07EC#code)
* strategy - [0x2a8b29301C910AE1Ae17156E4f7B01eb8f72Eb05](https://bscscan.com/address/0x2a8b29301C910AE1Ae17156E4f7B01eb8f72Eb05#code)

#### BUSD (Alpaca Finance)&#x20;

* vault - [0x45c3a5Cb452E5468e47c53a8C71e30fdAcf73239](https://bscscan.com/address/0x45c3a5Cb452E5468e47c53a8C71e30fdAcf73239#code)
* strategy - [0xf667e52e87Ff3411C2D5E311191072543b4dd69B](https://bscscan.com/address/0xf667e52e87Ff3411C2D5E311191072543b4dd69B#code)

#### USDT (Alpaca Finance)&#x20;

* vault - [0xE897b4200E3B2380469E8Dd3F987Dc62A7ADeAD7](https://bscscan.com/address/0xE897b4200E3B2380469E8Dd3F987Dc62A7ADeAD7#code)
* strategy - [0xAaB8a82fc1cd5F7D2bae5AA39663248b3ff27181](https://bscscan.com/address/0xaab8a82fc1cd5f7d2bae5aa39663248b3ff27181#code)

#### USDC (Alpaca Finance)&#x20;

* vault - [0x5F74a311393E45CFC1Ba1A11ee60D76c9e6018A8](https://bscscan.com/address/0x5f74a311393e45cfc1ba1a11ee60d76c9e6018a8#code)
* strategy - [0x758A1f62Fb4f828EF6E1b7766eb0FEBbEa5e301E](https://bscscan.com/address/0x758a1f62fb4f828ef6e1b7766eb0febbea5e301e#code)

#### UST-BUSD (Biswap)&#x20;

* vault - [0xBFDF544F1444E61EE04cAfDabA2b6A68c921F376](https://bscscan.com/address/0xbfdf544f1444e61ee04cafdaba2b6a68c921f376#code)
* strategy - [0xe24A0e4b6BA77aa55bE58Ac4D84Aa14b95121B33](https://bscscan.com/address/0xe24a0e4b6ba77aa55be58ac4d84aa14b95121b33#code)

#### USDT (Stargate Finance)&#x20;

* vault - [0xa596AF34Ff090083ED5a39189928d49039A94A10](https://bscscan.com/address/0xa596af34ff090083ed5a39189928d49039a94a10#code)
* strategy - [0x202b5799D0D81244657833f70CcEe053bC9f13d9](https://bscscan.com/address/0x202b5799d0d81244657833f70ccee053bc9f13d9#code)

#### BUSD (Stargate Finance)&#x20;

* vault - [0xA1436ADa35e593d2376DDE8e2678D3E88714171c](https://bscscan.com/address/0xa1436ada35e593d2376dde8e2678d3e88714171c#code)
* strategy - [0xb4E4378C3D0B0B8E49682Db38912080e5873aF53](https://bscscan.com/address/0xb4e4378c3d0b0b8e49682db38912080e5873af53#code)

### Peripheries

* WooFeeManager - [0x778098Cd30D96De369aF1cD726a3079fcF437B8f](https://bscscan.com/address/0x778098cd30d96de369af1cd726a3079fcf437b8f#code)
* WooRebateManager - [0x0208D735576B3D974024237393F4617285bf0563](https://bscscan.com/address/0x0208d735576b3d974024237393f4617285bf0563#readContract)
* WooVaultManager - [0xf704eaf4A68Ac424C809f7c4595451b9414d2b76](https://bscscan.com/address/0xf704eaf4A68Ac424C809f7c4595451b9414d2b76)
* WooAccessManager - [0xa9eDb6F411e49358B515dE26543815770a739FB0](https://bscscan.com/address/0xa9eDb6F411e49358B515dE26543815770a739FB0)
* WooGuardian - [0x910723e3c6a68276687b50613a1a9e42cc6589b](https://bscscan.com/address/0x910723e3c6a68276687b50613a1a9e42cc6589b4)[4](https://bscscan.com/address/0x910723e3c6a68276687b50613a1a9e42cc6589b4)
* WooFeeManager (BUSD) - [0x8C603050D7a913b6f63836e07ebF385a4A5736E7](https://bscscan.com/address/0x8c603050d7a913b6f63836e07ebf385a4a5736e7#code)
* WooRebateManager (BUSD) - [0x4f3e0B02F50937Bc21F523F1Dd430A34cAF4de98](https://bscscan.com/address/0x4f3e0b02f50937bc21f523f1dd430a34caf4de98#code)
* WooVaultManager (BUSD) - [0x8FA8e3dD9E84094a1d2511acf1353D7E011D8f90](https://bscscan.com/address/0x8fa8e3dd9e84094a1d2511acf1353d7e011d8f90#code)

</details>

<details>

<summary>Fantom deployment</summary>

### Swap

* WooRouter - [0x37b5a5a730dad670874f26cc5507bb1b9705e447](https://ftmscan.com/address/0x37b5a5a730dad670874f26cc5507bb1b9705e447#code)
* CrossSwapRouter v1 - [0xcF6Ce5Fd6bf28bB1AeAc88A55251f6c840059De5](https://ftmscan.com/address/0xcf6ce5fd6bf28bb1aeac88a55251f6c840059de5#code)
* CrossSwapRouter v2 - [0x28D2B949024FE50627f1EbC5f0Ca3Ca721148E40](https://ftmscan.com/address/0x28d2b949024fe50627f1ebc5f0ca3ca721148e40#code)
* WooPP - [0x9503E7517D3C5bc4f9E4A1c6AE4f8B33AC2546f2](https://ftmscan.com/address/0x9503e7517d3c5bc4f9e4a1c6ae4f8b33ac2546f2#code)
* Wooracle - [0x209102c0D2E34282494114ea76D5251c8e7Ea7ab](https://ftmscan.com/address/0x209102c0d2e34282494114ea76d5251c8e7ea7ab#code)
* WooracleV2 - [0x8840e26e0ebf7D100A0644DD8576DC62B03cbf04](https://ftmscan.com/address/0x8840e26e0ebf7d100a0644dd8576dc62b03cbf04#code)

### Earn

#### **FTM Supercharger vault**

* SuperChargerVault - [0xb29DE0c2A884aF396272086F4Aa3F0ad2DAD747b](https://ftmscan.com/address/0xb29de0c2a884af396272086f4aa3f0ad2dad747b#code)
* LendingManager - [0xEc054126922a9a1918435c9072c32f1B60cB2B90](https://ftmscan.com/address/0xec054126922a9a1918435c9072c32f1b60cb2b90#code)
* WithdrawManager - [0x6DeB92D1Ed4f3e5136303556dD1810f761D69c1e](https://ftmscan.com/address/0x6deb92d1ed4f3e5136303556dd1810f761d69c1e#code)
* AAVEfarmingstrategy - [0x2DF39335b79783b7e02AFcf552303602C14f5208](https://ftmscan.com/address/0x2df39335b79783b7e02afcf552303602c14f5208#code)

#### **USDC Supercharger vault**

* SuperChargerVault - [0xf6bE9C2627B89d15FEFD7BAB69E627282E9Ad083](https://ftmscan.com/address/0xf6be9c2627b89d15fefd7bab69e627282e9ad083#code)
* LendingManager - [0xB6F776718F2E4c16A9a7161dB2018b5261485354](https://ftmscan.com/address/0xb6f776718f2e4c16a9a7161db2018b5261485354#code)
* WithdrawManager - [0x71a862683F158517B39Bdc4a2cA0fcE657d3A375](https://ftmscan.com/address/0x71a862683f158517b39bdc4a2ca0fce657d3a375#code)
* AAVEfarmingvault - [0x5811850b72787b8beb402Fdb1F78DF455b65b3B2](https://ftmscan.com/address/0x5811850b72787b8beb402fdb1f78df455b65b3b2#code)
* AAVEfarmingstrategy - [0x1553a071C135137610699f93c9834e8165eCacca](https://ftmscan.com/address/0x1553a071c135137610699f93c9834e8165ecacca#code)
* SuperChargerVault - [0x83b9047c18e55A0cDa6027fB0582C4De658d5ea0](https://ftmscan.com/address/0x83b9047c18e55a0cda6027fb0582c4de658d5ea0#code)
* LendingManager - [0x05C97E74ad8D84eF457994B9b394D0cc46ee6E76](https://ftmscan.com/address/0x05c97e74ad8d84ef457994b9b394d0cc46ee6e76#code)
* WithdrawManager - [0x7b2e29F5B79965a1fB4DC15B635eE18edfBa08Dd](https://ftmscan.com/address/0x7b2e29f5b79965a1fb4dc15b635ee18edfba08dd#code)
* ExternalReward - [0xdC1D17C5413D1a6457Ea2F4a991a24eB85277a4f](https://ftmscan.com/address/0xdc1d17c5413d1a6457ea2f4a991a24eb85277a4f)

#### FTM (Geist Finance)&#x20;

* vault - [0x5dB04B6335c26ee147AfBEc161Aff6E90239b4B8](https://ftmscan.com/address/0x5db04b6335c26ee147afbec161aff6e90239b4b8#code)
* strategy - [0x2DF39335b79783b7e02AFcf552303602C14f5208](https://ftmscan.com/address/0x2df39335b79783b7e02afcf552303602c14f5208#code)

#### FTM-WOO (SpookySwap)&#x20;

* vault - [0xEe8318E9d597Bf9DF6148E86D4e35a8Bc14EEA88](https://ftmscan.com/address/0xee8318e9d597bf9df6148e86d4e35a8bc14eea88#code)
* strategy - [0x64EDb6450F5a1C6158D76C1E30900fD7D8493636](https://ftmscan.com/address/0x64edb6450f5a1c6158d76c1e30900fd7d8493636#code)

#### fUSDT (Scream)&#x20;

* vault - [0x4DF34A29aabd0694A62cbF65a844E12A44617975](https://ftmscan.com/address/0x4df34a29aabd0694a62cbf65a844e12a44617975#code)
* strategy - [0x87bca268E282dbc00477a24883542F87D40dEB5c](https://ftmscan.com/address/0x87bca268e282dbc00477a24883542f87d40deb5c#code)

#### FTM-wETH (SpookySwap)&#x20;

* vault - [0xf60d272945c870E8dbFD02Bf0339D5650646115d](https://ftmscan.com/address/0xf60d272945c870e8dbfd02bf0339d5650646115d#code)
* strategy - [0x2fb089Be0df198c1B1eaC88500a09a1175d3a547](https://ftmscan.com/address/0x2fb089be0df198c1b1eac88500a09a1175d3a547#code)

#### FTM-BTC (SpookySwap)

* vault - [0xCC96Ba33Eae1147BA8B0C73D3dd4cEe40d681EE9](https://ftmscan.com/address/0xcc96ba33eae1147ba8b0c73d3dd4cee40d681ee9#code)
* strategy - [0xD5BEfE3Fecdf1C941c58119a4e395806Eea0C343](https://ftmscan.com/address/0xd5befe3fecdf1c941c58119a4e395806eea0c343#code)

#### USDC (Stargate)&#x20;

* vault - [0xFCE921ac02999E701BdE7e697b0EF64F2Da115dB](https://ftmscan.com/address/0xfce921ac02999e701bde7e697b0ef64f2da115db#code)
* strategy - [0xe1BBfeC2b76D2c5B899407bB9Ad3CC501A8aC1b7](https://ftmscan.com/address/0xe1bbfec2b76d2c5b899407bb9ad3cc501a8ac1b7#code)

### Peripheries

* WooFeeManager - [0x70F9C8885f03e68CaE7A48eE86cD6089CCc6b795](https://ftmscan.com/address/0x70f9c8885f03e68cae7a48ee86cd6089ccc6b795#code)
* WooRebateManager - [0x0D37e768c3eD8a3FA494d03AF69605C5bE9a68e4](https://ftmscan.com/address/0x0d37e768c3ed8a3fa494d03af69605c5be9a68e4#readContract)
* WooVaultManager - [0x58C73F7E102BC6BCdC6b092EF0399B3E06d6b3E3](https://ftmscan.com/address/0x58C73F7E102BC6BCdC6b092EF0399B3E06d6b3E3#code)
* WooAccessManager - [0xd6d6A0828a80E1832cD4C3585aDED8971087fCb8](https://ftmscan.com/address/0xd6d6a0828a80e1832cd4c3585aded8971087fcb8#code)
* WooGuardian - [0x128758d0e909624841AB29D53919646BFBDa5dB2](https://ftmscan.com/address/0x128758d0e909624841ab29d53919646bfbda5db2#code)

</details>

<details>

<summary>Polygon deployment</summary>

### Swap

* WooRouter - [0x9D1A92e601db0901e69bd810029F2C14bCCA3128](https://polygonscan.com/address/0x9d1a92e601db0901e69bd810029f2c14bcca3128#code)
* CrosswapRouter v1 - [0x376d567C5794cfc64C74852A9DB2105E0b5B482C](https://polygonscan.com/address/0x376d567c5794cfc64c74852a9db2105e0b5b482c#code)
* CrosswapRouter v2 - [0x574b9cec19553435B360803D8B4De2a5b2C008Fd](https://polygonscan.com/address/0x574b9cec19553435b360803d8b4de2a5b2c008fd#code)
* CrosswapRouter v2.1 - [0xAA9c15cd603428cA8ddD45e933F8EfE3Afbcc173](https://polygonscan.com/address/0xaa9c15cd603428ca8ddd45e933f8efe3afbcc173#code)
* CrosswapRouterV3 - [0xe47Fec1c72850d867a1655C4C5902de7728CA205](https://polygonscan.com/address/0xe47fec1c72850d867a1655c4c5902de7728ca205#readContract)
* WooPP - [0x7400B665C8f4f3a951a99f1ee9872efb8778723d](https://polygonscan.com/address/0x7400b665c8f4f3a951a99f1ee9872efb8778723d#code)
* Wooracle - [0x2Fe5E5D341cFFa606a5d9DA1B6B646a381B0f7ec](https://polygonscan.com/address/0x2Fe5E5D341cFFa606a5d9DA1B6B646a381B0f7ec#code)
* WooracleV2 - [0xeFF23B4bE1091b53205E35f3AfCD9C7182bf3062](https://polygonscan.com/address/0xeff23b4be1091b53205e35f3afcd9c7182bf3062#code)
* WooRouter - [0x817Eb46D60762442Da3D931Ff51a30334CA39B74](https://polygonscan.com/address/0x817eb46d60762442da3d931ff51a30334ca39b74#code)

### Earn

#### **MATIC Supercharger vault**

* SuperChargerVault - [0x8eA0eb2CEBdA4d7c88183AC8fBf3a9AE6AE07A5C](https://polygonscan.com/address/0x8ea0eb2cebda4d7c88183ac8fbf3a9ae6ae07a5c#code)
* LendingManager - [0x8cd11C6F710E8Bf65B5078e92Dc8529cFF14b108](https://polygonscan.com/address/0x8cd11c6f710e8bf65b5078e92dc8529cff14b108#code)
* WithdrawManager - [0x3eC979b97Db308b9489D42F2FFFa84033eFCd8D4](https://polygonscan.com/address/0x3ec979b97db308b9489d42f2fffa84033efcd8d4#code)
* AAVEfarmingvault - [0xD5BEfE3Fecdf1C941c58119a4e395806Eea0C343](https://polygonscan.com/address/0xd5befe3fecdf1c941c58119a4e395806eea0c343#code)
* AAVEfarmingstrategy - [0xd7A03024C9CaB9Ca9E85E649ACb598b51774234F](https://polygonscan.com/address/0xd7a03024c9cab9ca9e85e649acb598b51774234f#code)

#### **ETH Supercharger vault**

* SuperChargerVault - [0x404b181eCA20519B68F3a7ee68ab65f6aBA9d503](https://polygonscan.com/address/0x404b181eca20519b68f3a7ee68ab65f6aba9d503#code)
* LendingManager - [0x27021e71Ef9dd52C82193294ce50e2FaFC4b87Bf](https://polygonscan.com/address/0x27021e71ef9dd52c82193294ce50e2fafc4b87bf#code)
* WithdrawManager - [0xcF6Ce5Fd6bf28bB1AeAc88A55251f6c840059De5](https://polygonscan.com/address/0xcf6ce5fd6bf28bb1aeac88a55251f6c840059de5#code)
* AAVEfarmingvault - [0x99Ad6e3c00DFBcd80b7593B1Cd8Fb8a9F1a2d230](https://polygonscan.com/address/0x99ad6e3c00dfbcd80b7593b1cd8fb8a9f1a2d230#code)
* AAVEfarmingstrategy - [0x7B53aeDf58D2Ed087A3DD690201245A61DE3c66C](https://polygonscan.com/address/0x7b53aedf58d2ed087a3dd690201245a61de3c66c#code)

#### **USDC Supercharger vault**

* SuperChargerVault - [0x0ba6C34aF9713D15141dcc91d2788c3F370ecb9E](https://polygonscan.com/address/0x0ba6c34af9713d15141dcc91d2788c3f370ecb9e#code)
* LendingManager - [0xA2f2D3A7D6C9D20b988978a01214e89BCDD4D673](https://polygonscan.com/address/0xA2f2D3A7D6C9D20b988978a01214e89BCDD4D673#code)
* WithdrawManager - [0x39467a0DEBf360A82F83880F13eBdF7F0c2ec735](https://polygonscan.com/address/0x39467a0DEBf360A82F83880F13eBdF7F0c2ec735#code)
* AAVEfarmingvault - [0xB54e1d90d845d888d39dcaCBd54a3EEc0d8853B2](https://polygonscan.com/address/0xb54e1d90d845d888d39dcacbd54a3eec0d8853b2#code)
* AAVEfarmingstrategy - [0x1dDd225ef26714Bb8055dDCEaEE2589ba09c89ed](https://polygonscan.com/address/0x1ddd225ef26714bb8055ddceaee2589ba09c89ed#code)

### Peripheries

* WooFeeManager - [0x7214833BE05Ce39f6dCd97668e521162e6C18937](https://polygonscan.com/address/0x7214833be05ce39f6dcd97668e521162e6c18937#code)
* WooRebateManager - [0x3d605fA64595Dba86f7780E128816ADAAeCA8A2b](https://polygonscan.com/address/0x3d605fa64595dba86f7780e128816adaaeca8a2b#code)
* WooVaultManager - [0x2e668Bb88287675e34c8dF82686dfd0b7F0c0383](https://polygonscan.com/address/0x2e668bb88287675e34c8df82686dfd0b7f0c0383#code)
* WooAccessManager - [0x925AFA2318825FCAC673Ef4eF551208b125dd965](https://polygonscan.com/address/0x925afa2318825fcac673ef4ef551208b125dd965#code)
* WooGuardian - [0xF5d215d9C84778F85746D15762DaF39B9E83a2d6](https://polygonscan.com/address/0xf5d215d9c84778f85746d15762daf39b9e83a2d6#code)

</details>

<details>

<summary>Arbitrum deployment</summary>

### Swap

* CrosswapRouter - [0x44dF096D2600C6a6db77899dB3DE3AeCff746cb8](https://arbiscan.io/address/0x44df096d2600c6a6db77899db3de3aecff746cb8#code)
* CrosswapRouterv2 - [0x4AB421de52b3112D02442b040dd3DC73e8Af63b5](https://arbiscan.io/address/0x4ab421de52b3112d02442b040dd3dc73e8af63b5#code)
* CrosswapRouterV3 - [0xe47Fec1c72850d867a1655C4C5902de7728CA205](https://arbiscan.io/address/0xe47fec1c72850d867a1655c4c5902de7728ca205#readContract)
* WooracleV2 - [0x37a9dE70b6734dFCA54395D8061d9411D9910739](https://arbiscan.io/address/0x37a9de70b6734dfca54395d8061d9411d9910739#code)
* WooracleV2zip - [0xA43305Ce0164D87d7B2368f91a1dcC4eBdA75127](https://arbiscan.io/address/0xA43305Ce0164D87d7B2368f91a1dcC4eBdA75127)
* WooRouter - [0x9aEd3A8896A85FE9a8CAc52C9B402D092B629a30](https://arbiscan.io/address/0x9aed3a8896a85fe9a8cac52c9b402d092b629a30)

### Earn

#### **ETH Supercharger vault**

* AAVEfarmingstrategy - [0xd84a36394cBd4E3C4102697D8Ba880b4b181D6bb](https://arbiscan.io/address/0xd84a36394cbd4e3c4102697d8ba880b4b181d6bb#code)

#### USDC.e Supercharger vault

* AAVEfarmingstrategy - [0x360E41201597A82007046329c021Abc9D4AE0b6E](https://arbiscan.io/address/0x360e41201597a82007046329c021abc9d4ae0b6e#code)

</details>

<details>

<summary>Optimism deployment</summary>

### Swap

* CrosswapRouter - [0x655e2fe03fe19327239b5294a556965192386a7b](https://optimistic.etherscan.io/address/0x655e2fe03fe19327239b5294a556965192386a7b#code)
* CrosswapRouter v2 - [0xbeaE1B06949d033Da628bA3E5aF267C3E740494b](https://optimistic.etherscan.io/address/0xbeae1b06949d033da628ba3e5af267c3e740494b#code)
* CrosswapRouter v3 - [0xe47Fec1c72850d867a1655C4C5902de7728CA205](https://optimistic.etherscan.io/address/0xe47fec1c72850d867a1655c4c5902de7728ca205#readContract)
* WooracleV2 - [0x464959aD46e64046B891F562cFF202a465D522F3](https://optimistic.etherscan.io/address/0x464959ad46e64046b891f562cff202a465d522f3#code)
* WooracleV2zip - [0x84B76eFe02a8A151AF697A62f7ba59FB082b7e5f](https://optimistic.etherscan.io/address/0x84B76eFe02a8A151AF697A62f7ba59FB082b7e5f)
* WooRouterV2 - [0xEAf1Ac8E89EA0aE13E0f03634A4FF23502527024](https://optimistic.etherscan.io/address/0xeaf1ac8e89ea0ae13e0f03634a4ff23502527024#code)

### Earn

**OP Supercharger vault**

* Homorav2farmingstrategy - [0x81ab3492BACFfF639dDE60763Ccf9E348117075d](https://optimistic.etherscan.io/address/0x81ab3492bacfff639dde60763ccf9e348117075d#code)

#### ETH Supercharger vault

* AAVEfarmingstrategy - [0xEeC6025fc35AF612f6028Bb454f875085dB8Ed8D](https://optimistic.etherscan.io/address/0xeec6025fc35af612f6028bb454f875085db8ed8d#code)

#### USDC Supercharger vault

* AAVEfarmingstrategy - [0x5Ec696ecf3fD139EC5B2c6D85BD87AC5cDb23Cfb](https://optimistic.etherscan.io/address/0x5ec696ecf3fd139ec5b2c6d85bd87ac5cdb23cfb#code)

</details>

<details>

<summary>zkSync deployment</summary>

* WooracleV2 - [0x635b7045F1306dFC58536348CcB863E756910350](https://explorer.zksync.io/address/0x635b7045F1306dFC58536348CcB863E756910350#contract)
* WooRouterV2 - [0xfd505702b37Ae9b626952Eb2DD736d9045876417](https://explorer.zksync.io/address/0xfd505702b37Ae9b626952Eb2DD736d9045876417#contract)

</details>

<details>

<summary>Ethereum deployment</summary>

* CrosswapRouter - [0x9D1A92e601db0901e69bd810029F2C14bCCA3128](https://etherscan.io/address/0x9d1a92e601db0901e69bd810029f2c14bcca3128#code)
* CrossswapRouterV3 - [0xe47Fec1c72850d867a1655C4C5902de7728CA205](https://etherscan.io/address/0xe47fec1c72850d867a1655c4c5902de7728ca205#readContract)
* WOORouter - [0x044c08639bD59BEB4F6ec52c0da6CD47283534E8](https://etherscan.io/address/0x044c08639bd59beb4f6ec52c0da6cd47283534e8#code)

</details>

<details>

<summary>Linea deployment</summary>

* CrossswapRouter - [0x376d567C5794cfc64C74852A9DB2105E0b5B482C](https://lineascan.build/address/0x376d567c5794cfc64c74852a9db2105e0b5b482c)
* CrossswapRouterv3 - [0xe47Fec1c72850d867a1655C4C5902de7728CA205](https://lineascan.build/address/0xe47fec1c72850d867a1655c4c5902de7728ca205#readContract)
* WooRouter - [0x39d361E66798155813b907A70D6c2e3FdaFB0877](https://lineascan.build/address/0x39d361e66798155813b907a70d6c2e3fdafb0877)

</details>

<details>

<summary>Base deployment</summary>

* CrossswapRouter - [0xF314FA27066bdde92e6122059B103E8899D0a096](https://basescan.org/address/0xf314fa27066bdde92e6122059b103e8899d0a096#code)
* CrossswapRouterv3 - [0xe47Fec1c72850d867a1655C4C5902de7728CA205](https://basescan.org/address/0xe47fec1c72850d867a1655c4c5902de7728ca205#readContract)
* WooRouter - [0x27425e9FB6A9A625E8484CFD9620851D1Fa322E5](https://basescan.org/address/0x27425e9fb6a9a625e8484cfd9620851d1fa322e5)

</details>

<details>

<summary>Mantle deployment</summary>

* WooRouterV2 - [0xd14a997308F9e7514a8FEA835064D596CDCaa99E](https://explorer.mantle.xyz/address/0xd14a997308F9e7514a8FEA835064D596CDCaa99E)

</details>


# Welcome

These docs are intended for developers who are interfacing with or building on top of WOOFi. Whether you're a trade aggregator, yield aggregator, trader, liquidity provider, founder, web dev, arbitrageur, AMM designer, mathematician, or curious individual, this is the place for you.

## Guides

* [Integrate WOOFI as a liquidity source](/dev-docs/guides/integrate-woofi-as-liquidity-source)
* [Become a WOOFi broker](/dev-docs/guides/become-a-woofi-broker)

## References

* [Contract addresses](/dev-docs/references/readme)
* [Data APIs](/dev-docs/references/apis)

## Resources

* [Product overview](https://learn.woo.org/woofi/intro)
* [The math behind sPMM](/dev-docs/resources/the-math-behind-spmm)
* [Smart contract architecture](/dev-docs/resources/resources)
* [On-chain price feeds](/dev-docs/resources/on-chain-price-feeds)
* [Audits](https://learn.woo.org/woofi/audits)

## Can't find something?

If you're having trouble finding the answer to your question, ask for help in the `#developer` channel of the [WOO Discord](https://discord.com/invite/woonetwork). Notice something missing? You can contribute to [these docs](https://github.com/woonetwork/docs)!


# Integrate WOOFi as a liquidity source on EVM

## Contracts

There are two main contracts of WOOFi's Swap:

* `WooRouterV2.sol`: the router contract that frontend users interact with. It interacts with the lower layer `WooPPV2.sol` to execute the sell logic and send back users the desired amount of tokens. This contract also implements the logic to route user orders to 3rd party aggregator (e.g. 1inch) when `WooPPV2.sol` does not have sufficient liquidity.
* `WooPPV2.sol`: the main swap contract that handles the logic operation, including setting the token info, calculating slippage, calculating the exchange amount and executing trades. it stores all tokens that are supported for trading. In this contract, it defines quote token and base token. Quote token is the reference token (i.e. stablecoins) in the contract and there is only one quote token. The contract can have multiple base tokens and they can be added by the strategist.

## Supported assets

**Adding `IntegrationHelper.sol`**

`WooPPV2.sol` has one quote token which is typically the dominant stablecoin of each chain and multiple base tokens. A `IntegrationHelper.sol` contract is deployed on each supported chain which contains the address of the quote token and the list of tradable base token addresses in `WooPPV2.sol.`

The latest list of supported tokens can be retrieved via the `getSupportTokens()` function which will return two values:

* first value: quoteToken address
* second value: array of baseToken addresses

<figure><img src="/files/9p2cFkiiv5zsuteFtPVM" alt=""><figcaption></figcaption></figure>

#### Contract addresses:

Arbitrum: [0x28D2B949024FE50627f1EbC5f0Ca3Ca721148E40](https://arbiscan.io/address/0x28D2B949024FE50627f1EbC5f0Ca3Ca721148E40#readContract)

Avalanche: [0x020630613E296c3E9b06186f630D1bF97A2B6Ad1](https://snowtrace.io/address/0x020630613E296c3E9b06186f630D1bF97A2B6Ad1#readContract)

BSC: [0xAA9c15cd603428cA8ddD45e933F8EfE3Afbcc173](https://bscscan.com/address/0xAA9c15cd603428cA8ddD45e933F8EfE3Afbcc173)

Optimism - [0x96329d66074EB8386Ae8bFD6698B2E3FDA87e15E](https://optimistic.etherscan.io/address/0x96329d66074EB8386Ae8bFD6698B2E3FDA87e15E#readContract)

Polygon POS - [0x7Ba560eB735AbDCf9a3a5692272652A0cc81850d](https://polygonscan.com/address/0x7Ba560eB735AbDCf9a3a5692272652A0cc81850d#readContract)

zkSync Era - [0x636DfeB023463F176f87D61E3B604231986bd935](https://explorer.zksync.io/address/0x636DfeB023463F176f87D61E3B604231986bd935#contract)

Linea - [0x7e1996945eA8866DE873179DC1677E93A4380107](https://lineascan.build/address/0x7e1996945ea8866de873179dc1677e93a4380107#readContract)

Base - [0xC4E9B633685461E7B7A807D12a246C81f96F31B8](https://basescan.org/address/0xC4E9B633685461E7B7A807D12a246C81f96F31B8)

Mantle - [0x86b223E83D2FA43456b433687c8F47A35a9bE24C](https://explorer.mantle.xyz/address/0x86b223E83D2FA43456b433687c8F47A35a9bE24C)

Sonic - [0xc8521e41DE46036A61c562062862681f0060CD7E](https://sonicscan.org/address/0xc8521e41DE46036A61c562062862681f0060CD7E)

Berachain - [0x14B435b68e031226ACc4d328a69e294686C3176e](https://berascan.com/address/0x14b435b68e031226acc4d328a69e294686c3176e)

HyperEVM - [0xee8318e9d597bf9df6148e86d4e35a8bc14eea88](mailto:undefined)

Monad - [0xAeE024fAA57C4DB20ac0666a1D5297d5F1c95AfE](https://monadvision.com/address/0xAeE024fAA57C4DB20ac0666a1D5297d5F1c95AfE?tab=Contract)

## Integrate WOOFi as a liquidity source

When integrating WOOFi as a liquidity source, you can either interact with `WooRouterV2.sol` or `WooPPV2.sol`.

### Integrating `WooRouterV2.sol`

The straightforward way is interacting with `WooRouterV2.sol` contract which provides the query and swap for any two specified tokens. It streamlined the logic of swapping native blockchain assets and swapping between any of the two supported assets, which simplifies the integration for apps that do not have an existing aggregation logic.

#### Contract addresses:

* Same address across Arbitrum, Avalanche, BSC, Optimism, Polygon PoS, Linea, Base, Mantle, Sonic: `0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7`
* zkSync: `0x09873bfECA34F1Acd0a7e55cDA591f05d8a75369`

**Interface**

```solidity
    /// @dev query the amount to swap fromToken -> toToken
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of fromToken to swap
    /// @return toAmount the predicted amount to receive
    function querySwap(
        address fromToken,
        address toToken,
        uint256 fromAmount
    ) external view returns (uint256 toAmount);
    
    /// @dev query the amount to swap fromToken -> toToken,
    ///      WITHOUT checking the reserve balance; so it
    ///      always returns the quoted amount (for reference).
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of fromToken to swap
    /// @return toAmount the predicted amount to receive
    function tryQuerySwap(
        address fromToken,
        address toToken,
        uint256 fromAmount
    ) external view returns (uint256 toAmount);
    
    /// @notice Swap `fromToken` to `toToken`.
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of `fromToken` to swap
    /// @param minToAmount the minimum amount of `toToken` to receive
    /// @param to the destination address
    /// @param rebateTo the rebate address (optional, can be 0)
    /// @return realToAmount the amount of toToken to receive
    function swap(
        address fromToken,
        address toToken,
        uint256 fromAmount,
        uint256 minToAmount,
        address payable to,
        address rebateTo
    ) external payable returns (uint256 realToAmount);
```

**Sample code**

<pre class="language-solidity"><code class="lang-solidity">// Query Part
address fromToken = 0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f;  // wbtc
address toToken = 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8;    // usdc
uint256 amount1 = wooRouter.querySwap(
  fromToken, 
  toToken,
  100000000  // 1 wbtc amount in decimal 8
)

<strong>uint256 amount2 = wooRouter.tryQuerySwap(
</strong>  fromToken,
  toToken,
  100000000); // 1 wbtc amount in decimal 8

// NOTE: when the balance reserve is enough for swap, amount1 = amount2;
// otherwise, amount2 is still calculated based on wooracle price and woo market-making
// formula, but the amount1 qeury simply failed with insufficient balance error.


// Swap Part
uint256 amountIn = 100000000;
IERC20(fromToken).safeApprove(address(wooRouter), amountIn);
uint256 realToAmount = wooRouter.swap(
  fromToken,      // wbtc token address
  toToken,        // usdc token address
  amountIn,       // wbtc amount to swap in decimal 8
  19000000000,    // min amount = 19000 usdc (price: 19500)
  address(this),  // the address to receive the swap fund
  address(0)      // the rebateTo address
); 
</code></pre>

### Integrating `WooPPV2.sol`

Another way is to integrate directly with `WooPPV2.sol`. This approach is slightly more gas efficient, but it requires writing the smart contract code and manually send the `fromToken` to `WooPPV2.sol`, which a better choice for apps that already have an aggregation logic.

#### Contract addresses:

* Same address across Arbitrum, Avalanche, BSC, Optimism, Polygon PoS, Linea, Base, Mantle, Sonic: `0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4`
* zkSync Era: `0xE656d70bc3550e3EEE9dE7dC79367A44Fd13d975`

#### Interface

```solidity

    /// @notice The quote token address (immutable).
    /// @return address of quote token
    function quoteToken() external view returns (address);

    /// @notice Gets the pool size of the specified token (swap liquidity).
    /// @param token the token address
    /// @return the pool size
    function poolSize(address token) external view returns (uint256);

    /// @notice Query the amount to swap `fromToken` to `toToken`, without checking the pool reserve balance.
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of `fromToken` to swap
    /// @return toAmount the swapped amount of `toToken`
    function tryQuery(
        address fromToken,
        address toToken,
        uint256 fromAmount
    ) external view returns (uint256 toAmount);

    /// @notice Query the amount to swap `fromToken` to `toToken`, with checking the pool reserve balance.
    /// @dev tx reverts when 'toToken' balance is insufficient.
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of `fromToken` to swap
    /// @return toAmount the swapped amount of `toToken`
    function query(
        address fromToken,
        address toToken,
        uint256 fromAmount
    ) external view returns (uint256 toAmount);

    /// @notice Swap `fromToken` to `toToken`.
    /// @param fromToken the from token
    /// @param toToken the to token
    /// @param fromAmount the amount of `fromToken` to swap
    /// @param minToAmount the minimum amount of `toToken` to receive
    /// @param to the destination address
    /// @param rebateTo the rebate address (optional, can be address ZERO)
    /// @return realToAmount the amount of toToken to receive
    function swap(
        address fromToken,
        address toToken,
        uint256 fromAmount,
        uint256 minToAmount,
        address to,
        address rebateTo
    ) external returns (uint256 realToAmount);

```

#### Sample code

```solidity
    IWooPPV2 public wooPool; // IWooPPV2 smart contrac
    
    function sampleFunc(...) external {
        ... your business code ..

        // query the trade
        address fromToken = WBTC_ADDR;
        address toToken = USDT_ADDR;
        uint256 amountIn = 10000000; // 0.1 btc
        
        uint256 amountOut = wooPool.query(fromToken, toToken, amountIn);
        // or wooPool.tryQuery if you don't need the swap.
 
        // swap
        IERC20(toToken).safeTransfer(address(wooPool), amountIn);
        uint256 realToAmount = wooPool.swap(
            fromToken,
            toToken,
            amountIn,
            amountOut * 99 / 100, 
            address(this),
            address(0)
        );
        
        ... other business code to deal with `toToken` ...
    }
    
```

#### Price check with Wooracle

WOOFi's oracle has a few price checks implemented. You can find the addresses of the wooracle contract in [On-chain price feeds](/dev-docs/resources/on-chain-price-feeds).

* checking against the 3rd party oracle price e.g. ChainLink and Pyth
* set the price range a swap can be executed against the current price


# Integrate WOOFi as a liquidity source on Solana

WOOFi's sPMM is Synthetic Proactive Market Making (sPMM) contract on the Solana blockchain.

#### Contract addresses:

Mainnet: [WooFif76YGRNjk1pA8wCsN67aQsD9f9iLsz4NcJ1AVb](https://solscan.io/account/WooFif76YGRNjk1pA8wCsN67aQsD9f9iLsz4NcJ1AVb)

#### WOOFi Solana Program's github repository is available [here](https://github.com/woonetwork/WOOFi_Solana).

Arichitecture Overview: [Architecture](/dev-docs/guides/integrate-woofi-as-a-liquidity-source-on-solana/architecture)

#### Rust SDK:&#x20;

[https://github.com/woonetwork/woofi\_integration/tree/main/solana/woofi-rust-sdk](<https://github.com/woonetwork/woofi_integration/tree/main/solana/woofi-rust-sdk&#xA;>)

Rust SDK Docs:[ Rust SDK Readme](/dev-docs/guides/integrate-woofi-as-a-liquidity-source-on-solana/rust-sdk)

**TypeScript SDK:** \
<https://github.com/woonetwork/woofi_integration/tree/main/solana/woofi_ts_sdk>

TypeScript SDK Docs: [TypeScript SDK Readme](/dev-docs/guides/integrate-woofi-as-a-liquidity-source-on-solana/typescript-sdk)

### Jupiter Integration

<https://github.com/woonetwork/woofi_integration/tree/main/solana/woofi-integration-jupiter>


# Rust SDK

Solana integration SDK for WOOFi Swap. ProgramId on mainnet: **WooFif76YGRNjk1pA8wCsN67aQsD9f9iLsz4NcJ1AVb**

SDK git repo: <https://github.com/woonetwork/woofi-lz-sdk>

## Rust SDK Overview:

1. sdk/src/lib.rs have functions to compose woofi swap instructions
2. client/src/main.rs have the demo usage of these instrucionts

## Rust SDK Usage:

Build:

```
cargo build
```

To test, simply run:

```
./woofi-cli try-query SOL USDC 1000000000
./woofi-cli swap USDC SOL 100000 9000
```

above try-query is query price for 1 SOL above swap will swap 0.1 USDC to SOL After swap, it will print out transaction signature and program return log

```
transaction sent, signature:63AasGTbMBQgHj9RdJ9kz5F7ZxQ9Q7nKBDoR2qHs5d6rjCC2s2tyepa6S2gDv9M5GUG4KVkNqPbDDqDsctWwA7PG
please view on explorer
Program WooFiGFK9x5FBYdvMg3pJBpAkPA8EEYiLcopwrxJvDG invoke [1]
Program log: Instruction: Swap
Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]
Program log: Instruction: Transfer
Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 168578 compute units
...
```

## Notice

Above cmd will use

```
RPC URL: https://api.mainnet-beta.solana.com 
Payer Key: ~/.config/solana/id.json
```

If you want change your own RPC URL or Payer Key, please use the following cmd:

```
./woofi-cli try-query SOL USDC 1000000000 --http-url https://api.mainnet-beta.solana.com --payer-path ~/.config/solana/id.json
./woofi-cli swap USDC SOL 100000 9000 --http-url https://api.mainnet-beta.solana.com --payer-path ~/.config/solana/id.json
```


# TypeScript SDK

Use the SDK to interact with a deployed WOOFi sPMM program via Typescript

### Typescript SDK Features

With the Typescript SDK, you can easily do the following:

* Use the WoofiClient or construct your own transactions with the raw instructions to:
  * Swap tokens on WOOFi sPMM contract
* Quotes - helper functions to help developers perform quote estimations on tasks such as:
  * Get a quote on a swap and swap fee off-chain
  * Get a quote on a swap and swap fee on-chain
* Utility classes
  * Get contract supported tokens.
  * Get pyth oracle for supported tokens (in USD).
  * Other helper functions to help interact with WOO sPMM components

### Installation & Test

In your package, run:

```
yarn
yarn build
```

### Usage

### Run Typescript tests via local validator

In the WOOFi\_Solana/sdk folder, run:

```
yarn test
```

### Generate TypeDoc

In the `sdk` folder, run `yarn run docs`

You can also see the generated TypeDoc under docs folder.

### Sample Codes

You can find sample code covering basic operations under sdk/test folder [here](https://github.com/woonetwork/WOOFi_Solana/tree/main/sdk/tests).


# Architecture

## Architecture Overview

<figure><img src="/files/RPWWuH4fA2WtsFCmHde4" alt=""><figcaption><p>WooFi's Overview</p></figcaption></figure>

### Account Structure

Here is the structure for WOOFi's Synthetic Proactive Market Making (sPMM) contract on Solana. This repository contains the Rust smart contract as well as the Typescript SDK (`@woonetwork/WOOFi_Solana`) to interact with a deployed program.

### WooConfig

A WooConfig is a config struct to record:

* authority: Owner of the program
* paused: Whether the program is paused
* Woopool's admin authority
* Wooracle's admin\_authority
* Collect fee authority
* Guardian set authority
* Pause program authority

### WooPool

A WooPool is a concentrated liquidity pool for a token.

Each WooPool account hosts the necessary information to deal with the accounting of the pool. It also hosts the PDAs to the vaults. Only the WOO sPMM program has the authority to withdraw from the vault.

A WooPool account is hashed by the WooConfig, token mint address and quote token mint address.

### WooOracle

A WooOracle is an on-chain price feed in order to simulate the order book from centralized exchanges without sacrificing capital efficiency.

WooFi in Solana uses [Pyth oracle](https://www.pyth.network/developers/price-feed-ids#solana-stable) to check whether Woo oracle's price is valid.

Detailed explanations can be found on the [WooFi Developer Portal](https://learn.woo.org/v/woofi-dev-docs/resources/on-chain-price-feeds)

### Fee rate

Fee rate settings stored in WooPool's fee\_rate param can be updated by set\_pool\_fee\_rate function by the admin.

## WOOFi's sPMM Rust Environment Setup

This repository contains the Rust smart contract as well as the Typescript SDK (`@woonetwork/WOOFi_Solana`) to interact with a deployed program.

### Requirements

* Anchor 0.29.0
* Solana 1.17.31
* Rust 1.72.0

### Setup

Install Anchor using instructions found [here](https://book.anchor-lang.com/getting_started/installation.html#anchor).

Set up a valid Solana keypair at the path specified in the `wallet` in `Anchor.toml` to do local testing with `anchor test` flows.

`$NODE_PATH` must be set to the `node_modules` directory of your global installs. For example, using Node 18.20.4 installed through `nvm`, the $NODE\_PATH is the following:

```
$ echo $NODE_PATH
/Users/<home_dir>/.nvm/versions/node/v18.20.4/lib/node_modules
```

### Usage

### Tests

* Run "cargo test --lib" to run Rust unit tests


# Become a WOOFi broker

### What are WOOFi brokers?

WOOFi's bespoke sPMM algorithm provides deep liquidity and MEV-proof trade execution on assets such as BTC, ETH, BNB, AVAX, SOL, and predominant stablecoins on each blockchain. We aim to be the liquidity layer across DeFi and other Web3 verticals.&#x20;

WOOFi has low swap fees with only 2.5bps on each transaction, in which 0.02% is shared to WOO stakers. WOOFi brokers are the applications or wallets that route trades to WOOFi smart contracts. A whitelisted broker is eligible to receive 0.5bps of each trade that is sent to WOOFi via the broker's application as rebates in the form of stablecoins.

### How to enroll as a broker to receive rebates?

Any application such as DEX aggregators, wallets, web3 apps or websites that integrate WOOFi's sPMM liquidity can enroll as a broker to receive rebates. Fill out the enrollment form below and we will get in touch.

:point\_right: [**Enrollment Form**](https://docs.google.com/forms/d/e/1FAIpQLSdTTfytZmcKLwGTl6MUxGiaou1gAXhd83roAGgNCiIkBeYtFQ/viewform?usp=sf_link)

Once the enrollment information is reviewed, our team will get in contact with you and the provided broker rebate address will be added to the whitelist in`WooRebateManager.sol` on corresponding blockchains.

In order to receive rebates, the broker needs to integrate WOOFi as a liquidity source following [integration docs](/dev-docs/guides/integrate-woofi-as-liquidity-source). For a trade to be eligible for rebates, the whitelisted rebate address must be included in the field `address rebateTo` in the transaction that is sent to WOOFi smart contracts.

### How to check and claim the rebates?

The rebate is processed on a daily basis via smart contracts, the broker can check the eligible rebates and claim anytime on the chain that WOOFi liquidity is integrated.

* Same address across Arbitrum, Avalanche, BSC, Optimism, Polygon PoS, Ethereum, Linea, Base, Mantle, Sonic: `0x7616614084e040028D6a61c0f3A9699c121A6500`
* zkSync Era: `0x66C9467eC052Fb258e24DcCe87E93A0002966014`

If you have unclaimed rebates in the deprecated `WooRebateManager` smart contracts pls check the following contract and claim asap.

<table><thead><tr><th width="184">Network</th><th>Deprecated rebate manager smart contract address</th></tr></thead><tbody><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x505ac728645d2ef84380961f72baea500b3efa3f#code">0x505ac728645d2ef84380961F72bAea500b3efa3f</a></td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.io/address/0xbf401edbb0265d037bfc89dffeb7dbda10b57c22#readContract">0xbF401edBb0265D037BfC89DfFeB7dbDa10b57C22</a><br><a href="https://snowtrace.io/address/0x49d26a6eeeb49e79a0c73b95fd99d23698d3614a">0x49d26A6Eeeb49E79a0C73B95fD99D23698D3614A</a></td></tr><tr><td>BNB Chain</td><td><a href="https://bscscan.com/address/0x0208d735576b3d974024237393f4617285bf0563#readContract">0x0208D735576B3D974024237393F4617285bf0563</a><br><a href="https://bscscan.com/address/0x4f3e0b02f50937bc21f523f1dd430a34caf4de98#code">0x4f3e0B02F50937Bc21F523F1Dd430A34cAF4de98</a><br><a href="https://bscscan.com/address/0xce7cdc8e5c00796392e611d95c713420a6e31342#code">0xce7CDc8e5C00796392E611D95C713420A6e31342</a></td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0x0d37e768c3ed8a3fa494d03af69605c5be9a68e4#readContract">0x0D37e768c3eD8a3FA494d03AF69605C5bE9a68e4</a><br><a href="https://ftmscan.com/address/0x6f09ae4925739453d7c8c9a22fd07585148dfc01#code">0x6F09AE4925739453d7C8c9a22fD07585148DFc01</a></td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0x3d605fa64595dba86f7780e128816adaaeca8a2b#code">0x3d605fA64595Dba86f7780E128816ADAAeCA8A2b</a><br><a href="https://polygonscan.com/address/0x913e116cd0e279763b0419798c0ba18f9311b390#code">0x913E116cD0E279763B0419798c0bA18F9311B390</a></td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0x36b680fb76dad86bcb2cefc83fae05e3fe147706#code">0x36b680fB76Dad86bcB2Cefc83fAE05e3Fe147706</a></td></tr><tr><td>zkSync Era</td><td><a href="https://explorer.zksync.io/address/0x921A51ee71f769715866D2Ca43D8Ac57B196347a#contract">0x921A51ee71f769715866D2Ca43D8Ac57B196347a</a></td></tr><tr><td>Polygon zkEVM</td><td><a href="https://zkevm.polygonscan.com/address/0xa2101fd320d06e0a744e4fe90ef8a20ecd027001">0xa2101FD320D06e0A744e4FE90ef8A20ECd027001</a></td></tr><tr><td>Linea</td><td><a href="https://lineascan.build/address/0xa2101fd320d06e0a744e4fe90ef8a20ecd027001">0xa2101FD320D06e0A744e4FE90ef8A20ECd027001</a></td></tr><tr><td>Base</td><td><a href="https://basescan.org/address/0x7214833BE05Ce39f6dCd97668e521162e6C18937">0x7214833BE05Ce39f6dCd97668e521162e6C18937</a></td></tr><tr><td>Mantle</td><td><a href="https://explorer.mantle.xyz/address/0xb130a49065178465931d4f887056328CeA5D723f">0xb130a49065178465931d4f887056328CeA5D723f</a></td></tr></tbody></table>

#### Check eligible rebates

* Step 1 - go to the `WooRebateManager` smart contract address using the corresponding blockchain explorer (click the link above)
* Step 2 - click 'Read Contract' under the "Contract" tab

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

* Step 3 - go to the 'pendingRebate' function, input your whitelisted rebate address and click 'Query', and you will see the current amount of claimable rebates in the quote token. i.e. stablecoins

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

#### Claim rebates

* Step 1 - visit the `WooRebateManager` smart contract address via the blockchain explorer and click the 'Write Contract' under the 'Contract' tab.

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

* Step 2 - click 'Connect to web3' and sign in with your whitelisted rebate address.

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

* Step 3 - Claim your pending rebate by clicking the 'Write' button under the 'claimRebate' function, sign the transaction in your wallet to receive the rebates.

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

**Note:** With respect to the rebates provided to WOOFi brokers, WOO  reserves the right to modify, suspend or discontinue any and all of the rules in the program at any time without the consensus of WOOFi brokers.


# The math behind sPMM

### Synthetic Proactive Market Making (sPMM)

sPMM is the core algorithm powering the WOOFi Swap, which provides the best way to simulate a CEX order book in a DEX liquidity pool.&#x20;

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

The sPMM works as follows:

WOOFi Swap gets the order book data from the centralized exchange and estimates a trade price using mid-price, spread and slippage. Define mid-price ﻿﻿﻿$$p\_0$$and spread ﻿﻿﻿$$s$$:

﻿﻿﻿$$p\_0=(p\_{bid}+p\_{ask})/2$$

$$s=(p\_{ask}-p\_{bid})/p\_0$$

﻿If a user wants to buy the minimum amount of base tokens, the executed price will be:

﻿﻿﻿$$p=p\_{ask}=p\_0\*(1+s/2)$$​

We defien$$\Delta Q$$ as the amount of quote token and $$\Delta B$$ as the amount of base token. If a user wants to buy more base tokens, slippage will be applied and the average buy price will be:

﻿﻿﻿$$p=\Delta Q/\Delta B=p\_{ask}\*(1+slippage)$$

Slippage is determined by overall market liquidity across centralized exchanges. Generally speaking, if a user trades two orders of one pair with the same USD notional value, they should have similar slippage. Assuming that quote token is a USD stable coin, we can define the liquidity coefficient $$k$$﻿﻿﻿:

﻿﻿﻿$$k=slippage/\Delta Q$$

The average buy price is:

﻿﻿﻿$$p=\Delta Q/\Delta B=p\_{ask}*(1+k*\Delta Q)$$​

We can get the sell price in the same way. The final formula is:

* Basic sell function:

﻿﻿﻿$$sellBase(ΔB) = ΔQ = ΔB \* p / (1+k*ΔB*p)$$​

* Basic buy function:

﻿﻿﻿$$sellQuote(ΔQ) = ΔB = ΔQ \* p^{-1} / (1 + k\*ΔQ)$$​

In the situation that one user sells some base tokens and another user wants to take the other side of the trade, AMMs apply the inverse of the sell base function to calculate how many quote tokens to be sent to the user, which means the liquidity provider has to pay negative slippage to the arbitrageur to bring the balance of the pool back. WOOFi Swap provides more flexibility in the rebalance strategy by adjusting the rebalance coefficient ﻿﻿﻿﻿﻿﻿$$r (0\leq r\leq 1)$$. When $$r=1$$﻿﻿﻿ the full slippage will be paid to the arbitrageur, and when ﻿﻿﻿$$r=0$$ no slippage will be paid:

* Reverse sell function:

﻿﻿﻿$$reverseSellBase(\Delta B) = \Delta B \* p / (1-k\*\Delta B*p*r)$$

* Basic buy function:

$$reverseSellQuote(\Delta Q) = \Delta Q \* p^{-1} / (1 - k \* \Delta Q \* r)$$

### Custom On-chain Price Feed

Oracle providers, such as Chainlink, have become key infrastructure of the DeFi ecosystem by pushing off-chain price data on-chain. However, in order to simulate the order book from centralized exchanges without sacrificing capital efficiency, more data than just price are needed. Along with the sPMM algorithm, WOOFi Swap uses a custom on-chain price feed that contains multiple parameters i.e. mid-price $$p$$, spread $$s$$, and liquidity coefficient $$k$$. This allows WOOFi Swap to accurately reflect the order book of the centralized liquidity source and provide competitive price quotes for traders.&#x20;

The mid-price $$p$$ is updated at 0.1% price deviation to provide a much more granular price quote on-chain. The spread $$s$$ and liquidity coefficient $$k$$ are time-weighted average values using historical data, so they are updated less frequently but can be updated immediately if market volatility rises.


# Smart contract architecture

### Architecture

<figure><img src="/files/2HO2MlnCZOcAumoOR1fW" alt=""><figcaption></figcaption></figure>

### Descriptions

1. `WooRouter.sol` is the router contract. Users will only need to approve this contract to spend their ERC20 tokens. Similar to Uniswap, approval is required to interact with any trading pair on this contract. Router contract will interact with the lower layer `WooPP.sol` to execute the sell logic and send back users the desired amount of tokens.&#x20;
2. `WooPP.sol` is the basic contract that handles the logic operation of the DEX, including setting the token info, calculating slippage, calculating the exchange amount and so on. This contract stores all tokens that are supported by trading on the WOOFi Swap. In this contract, it defines quote token and base token. Quote token is the reference token in the contract and there is only one quote token. The contract can have multiple base tokens and they can be added by the strategist.&#x20;
3. `Wooracle.sol` is an oracle contract managed and developed by WOO Network team. It uploads the latest trading price, middle price and market spread information from WOO Network to the oracle contract.
4. `WooGuardian.sol` is the smart contract that is used to perform final checkup on the trade execution. The smart contract does not process funds. It provides the tolerance threshold of prices by comparing multiple oracles. For the swap amounts and quoted prices, the functions (*i.e.*, `checkSwapAmount()` and `checkSwapPrice()`) in this smart contract are used to check if the swapping amounts and prices are within the thresholds or not.
5. `WooFeeManager.sol` collects swap fees of transactions processed in WOOFi's sPMM liquidity pool and distribute to various pools
6. `WooRebateManager.sol` collects and distributes rebates to broker addresses (if any)&#x20;
7. `WooVaultManager.sol` collects the fee allocated to vaults and executes WOO buy back before distributing to vaults
8. `WooStakingVault.sol` is the smart contract to allow users to stake WOO token and receive xWOO token. It also manages the unstaking period and penalty
9. `WooAccessManager.sol` manages the access of WOOFi smart contracts
10. `SuperChargerVault.sol` is the WOOFi Earn Supercharger smart contract that users deposit assets into
11. `LendingManager.sol` is the smart contract that the WOOFi LP interacts with to borrow, repay loans and set borrowing interests
12. `WithdrawManager.sol` stores the funds that users request for withdrawal after the settlement process
13. `YieldFarmingVault.sol` is the vault that stores assets deployed for external yield farming
14. `YieldFarmingStrategy.sol` manages the external yield farming auto-compounding strategy


# On-chain price feeds

### Intro

In order to simulate the order book from centralized exchanges without sacrificing capital efficiency, WOOFi created a custom on-chain price fee which works along side with [the sPMM algorithm](/dev-docs/resources/the-math-behind-spmm). This price feed considers multiple parameters including mid-price `p`, spread `s`, and liquidity coefficient `k`.

The price feeds use Chainlink price feeds as a fail safe. Users can call `price` to get `priceNow` and `feasible` of token. If `feasible` is `false`, do not use `priceNow` value. All prices are USDT/USDC-based, and the decimal of `priceNow` is `8 (the same in decimals as price in Chainlink Oracle)`

**Wooracle v2.2.1**

* Arbitrum address: 0xCf4EA1688bc23DD93D933edA535F8B72FC8934Ec
* Optimism address: 0xA43305Ce0164D87d7B2368f91a1dcC4eBdA75127
* Polygon PoS address: 0x2A8Ede62D0717C8C92b88639ecf603FDF31A8428
* Base address: 0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6
* Avalanche c-chain address: 0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6
* BSC address: 0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6
* Linea address: 0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6
* zkSync Era address: 0xAe45cBE2d1E90358CbD216bC16f2C9267a4EA80a
* Mantle address: 0xAe45cBE2d1E90358CbD216bC16f2C9267a4EA80a

**Note**: While the price feed is on-chain and permissionless, and tradeable by any user on WOOFi, we DO NOT guarantee the availability or accuracy of it. The price feed may become unavailable when the centralized liquidity source is in maintenance or any time the operator deems necessary. In no case, WOOFi is liable for any loss that might be caused by using the price feed by any third party.

### Code Example

#### WooracleV2 Interface

```solidity
    /**
     * @notice Returns the ChainLink price of the base token / quote token
     * @param the base token address
     * @return the Chainlink price and the price's last-update timestamp
     */
    function cloPrice(address base) external view returns (uint256 price, uint256 timestamp);

    /**
     * @notice Returns the Woo self-posted price of the base token / quote token
     * @param the base token address
     * @return the Wooracle price and the price's last-update timestamp
     */
    function woPrice(address base) external view returns (uint128 price, uint256 timestamp);

    /**
     * @notice Returns the Woo self-posted price if available, otherwise fallback to ChainLink's price.
     * @dev the price is in base token / quote token, and decimal is same as the chainlink
     *   price decimal
     * @param the base token address
     * @return the compositive price and the flag indicating the price is available or not.
     */
    function price(address base) external view returns (uint256 priceNow, bool feasible);

    /**
     * Returns the detailed state of the current base token in Wooracle.
     *
     * struct State {
     *   uint128 price;
     *   uint64 spread;
     *   uint64 coeff;
     *   bool woFeasible;
     * }
     *
     * @param the base token address
     * @return the state
     */
    function state(address base) external view returns (State memory);
```

#### ABI

Abi json could be exported in chain explorer. e.g. for Arbitrum: [WooracleV2 Code](https://arbiscan.io/address/0x962d37fb9d75fe1af9aab323727183e4eae1322d#code)

#### Python Example (python 3.8)

* Query price

```python
import web3
import json

web3_provider = f'your-web3-provider'

w3 = web3.Web3(web3.Web3.HTTPProvider(web3_provider))
abi_str = '[{"inputs": [{"internalType": "address","name": "base","type": "address"}],"name": "price","outputs": [{"internalType": "uint256","name": "priceNow","type": "uint256"},{"internalType": "bool","name": "feasible","type": "bool"}],"stateMutability": "view","type": "function"}]'
abi = json.loads(abi_str)
oracle_addr = '0x962d37fb9d75fe1af9aab323727183e4eae1322d'
contract = w3.eth.contract(address=oracle_addr, abi=abi)

# query WOO/USDT pair quoting price 
woo_addr = '0xcAFcD85D8ca7Ad1e1C6F82F651fA15E33AEfD07b'
contract.functions.price(woo_addr).call()
```

* Response

```python
# return [priceNow, feasible]
>> [181915000000000000, True]
```


# Contract Addresses


# Solana

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>WooFif76YGRNjk1pA8wCsN67aQsD9f9iLsz4NcJ1AVb</td><td>WOOFi Program</td></tr><tr><td>mjkf7dn23RrwPphKvqze2dJcTUAXnXRBSS51qGGLB4Y</td><td>SOL Wooracle</td></tr><tr><td>Dk1BiYeDuM4PPQDiNNnqaiiKHPEZ65DJSVjdcSwKt4aU</td><td>USDC wooracle</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>woo98ny1QLULqdTzpNM8PiJpwfzL5MJ9pAmLw1rfvk7</td><td>Woo OFT program</td></tr><tr><td>Dz8VutERqbHR2aFL5A3s1Ky4dG1unJT1jUFXXPaY9ytX</td><td>WOO token</td></tr><tr><td>8pvYwZhuSY2GdW6zZ3PennYnRCuGtdK3BzBkGRmQbpeN</td><td>Woo authority</td></tr></tbody></table>


# Arbitrum one

## Swap

<table><thead><tr><th width="460">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xCf4EA1688bc23DD93D933edA535F8B72FC8934Ec</td><td>WooracleV2_2_1</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2.2</td></tr><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrosswapRouterV5</td></tr><tr><td>0x28D2B949024FE50627f1EbC5f0Ca3Ca721148E40</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="458">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x401ff5f78B52EDb57aB019c8988e0Be933AaABCb</td><td>ARBRewarder</td></tr><tr><td>0xa74bB3643da439E89010743909d0493abca743d7</td><td>MpRewarder</td></tr><tr><td>0xf26Eb53367066CdE380cD06a5d1469985B92747B</td><td>RewardBooster</td></tr><tr><td>0x666e11ECe9E03640d5df20f0bd0518E2c839d04C</td><td>USDC.eRewarder</td></tr><tr><td>0xa9E245C1FA7E17263Cc7C896488A3da8072924Fb</td><td>WooStakingManager</td></tr><tr><td>0x2CFa72E7f58dc82B990529450Ffa83791db7d8e2</td><td>WooStakingLocal</td></tr><tr><td>0x93E63fc2146D596AFe4583D03cfe496FFcad5A04</td><td>WooStakingController</td></tr><tr><td>0x63a015b5E305EDcA94b9B0c27461547b3F4eA1e3</td><td>WooStakingCompounder</td></tr><tr><td>0xA186555F7b5a60c0d103c84F0Bcb98fBD27aE24a</td><td>WooBuyBackSwap</td></tr><tr><td>0x9321785D257b3f0eF7Ff75436a87141C683DC99d</td><td>stake 1.0</td></tr><tr><td>0x0CCcB28b1c47B2548cFAF1CCF27f1152f65A125e</td><td>NFTRewarder</td></tr><tr><td>0x927f8C16c9E802cB3012989Fab79eb8c098d4234</td><td>CampaignManager</td></tr><tr><td>0x2EBCA56e00E11a4b1F08DA6eb9bC97C4Bf3eE90f</td><td>NFTBooster</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="458">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xA780432f495E5C6851fd7903FE49ad77C952F7D8</td><td>WooSuperChargerVaultV2_USDC</td></tr><tr><td>0x79A5453865a39f67D3FfC7964cd760F1763Be767</td><td>WooLendingManager_USDC</td></tr><tr><td>0xE76c97897A9c3f8aAAfC3Fe86457Fe460553D3FE</td><td>WooWithdrawManagerV2_USDC</td></tr><tr><td>0x38506FBB751eBFfcF887CF5d4C7390eC0c503796</td><td>FarmingVault_USDC</td></tr><tr><td>0x679b6AbD385B60db0eFB99AD3cE6DebDF832900c</td><td>AAVEStrategy_USDC</td></tr><tr><td>0x181d8Eb2EEff20C647073c4798111Cbd1B423A60</td><td>ExternalReward_USDC</td></tr><tr><td>0xd2fdaB19b94B59C5F0E75Dd9813365Df815b56B1</td><td>SuperChargerVault_WBTC</td></tr><tr><td>0xFEecEdbc3c292db79347473a2B976a463c3aC2D6</td><td>LendingManager_WBTC</td></tr><tr><td>0xD05b953cFD75426711a904F76eb3241bad5D03ac</td><td>WithdrawManager_WBTC</td></tr><tr><td>0xea6790425aFa71d802E017Ef5b6257e42C28554a</td><td>FarmingVault_WBTC</td></tr><tr><td>0x9D71a7B0022b0C402f15808d781F0f31A63abE15</td><td>VoidStrategy_WBTC</td></tr><tr><td>0xa397fba8c5c1aef9137601c185f6ab0e9cf43662</td><td>ExternalRewar_WBTC</td></tr><tr><td>0xBdB42AAD4a2056E33Cb365F923C175A1ed044B55</td><td>AAVEStrategy_ETH</td></tr><tr><td>0xec041744884b7Ff4179e4B046f472dEC9eF13bb8</td><td>VoidStrategy_usdc.e</td></tr><tr><td>0xfBBfcCAE3f76AFc0979f20920b4d04d608F873bF</td><td>ExternalReward_ETH</td></tr><tr><td>0x4D0ec3BEF43d72D17C3718C873A75f878A06cA57</td><td>ExternalRewar_usdc.e</td></tr><tr><td>0xdF0006994c46F4d006eCb2b5aF3e212D94df23e1</td><td>ExternalRewar_ARB</td></tr><tr><td>0x7f3F2A499c00c2D7018300F99A232896fD295Bb1</td><td>SuperChargerVault_ARB</td></tr><tr><td>0x6Fc2c9f904a98cAeeEF6aABA6De625b5698F3f08</td><td>LendingManager_ARB</td></tr><tr><td>0xBFe3d22B223909A06469854E7Af374ab449F09AC</td><td>WithdrawManager_ARB</td></tr><tr><td>0x2Aa18AB5d65449892519057d965706f051823a31</td><td>FarmingVault_ARB</td></tr><tr><td>0xf80475ef92DF49527FC63A53b967d8064d476f02</td><td>VoidStrategy_ARB</td></tr><tr><td>0xba452bCc4BC52AF2fe1190e7e1dBE267ad1C2d08</td><td>SuperChargerVault_ETH</td></tr><tr><td>0x5C7Ff24fa7Af62BC25AD6747A6193183B4bb7Bc5</td><td>LendingManager_ETH</td></tr><tr><td>0xE77ADf3936F70a2Ed44f26CeD01d26c1430EAd6a</td><td>WithdrawManager_ETH</td></tr><tr><td>0x5a6B073E090388C909b9F3bf9D9323be908cAD62</td><td>SuperChargerVault_USDC.e</td></tr><tr><td>0x371A2528dCc40c77d6AAAC255fA9F796dE5D6F91</td><td>LendingManager_usdc.e</td></tr><tr><td>0x7dE3FCe3De3CdC34595eEd74773CD47b84bCa340</td><td>WithdrawManager_usdc.e</td></tr><tr><td>0x478E7F3FE49931C601e2399DdaEE8EEf2eEF6F13</td><td>farmingvault_ETH</td></tr><tr><td>0xD3d86C94a8D468Bd1328e6491ED8aCa58D850AE7</td><td>FarmingVault_usdc.e</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="469">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x4E21a65A9F4672EF2cdfb7FA6B0f1e39d6e4E50e</td><td>ProDepositor</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="470">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x968d3B4Faa87864Ab19cF2982510B60c2D416B22</td><td>STIP Merkle distributor</td></tr><tr><td>0x28F88A809cCc085956AB9f978067698d25de014C</td><td>Chainlink VRF selector</td></tr><tr><td>0xc0f8C29e3a9A7650a3F642e467d70087819926d6</td><td>RewardMasterchef</td></tr><tr><td>0xd14a997308F9e7514a8FEA835064D596CDCaa99E</td><td>WooAccessManager</td></tr></tbody></table>


# Avalanche c-chain

## Swap

<table><thead><tr><th width="462">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossswapRouterV5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2.2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0x020630613E296c3E9b06186f630D1bF97A2B6Ad1</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="460">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xcd1B9810872aeC66d450c761E93638FB9FE09DB0</td><td>Stake 1.0</td></tr><tr><td>0x3Bd96847C40De8b0F20dA32568BD15462C1386E3</td><td>StakeProxy</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="460">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x866810349B2e28E411669911bB0babb06cc60625</td><td>SuperChargerVault_AVAX</td></tr><tr><td>0x385E063DeA8908d06BE024de85dA5B8DA4b10F73</td><td>LendingManager_AVAX</td></tr><tr><td>0x755e4Af9E77a91999693947B02975c584D1B56F6</td><td>WithdrawManager_AVAX</td></tr><tr><td>0xdA442c468f77F4f90032aE8ca99850eEA2091Bfe</td><td>farmingvault_AVAX</td></tr><tr><td>0xBd904400a17eaE621C4b799bAb7217d155135166</td><td>AAVEStrategy_AVAX</td></tr><tr><td>0x91921908259559d19da415E8E407dC533BFA61EB</td><td>ExternalReward_AVAX</td></tr><tr><td>0xc0f8C29e3a9A7650a3F642e467d70087819926d6</td><td>RewardMasterchef</td></tr><tr><td>0x11B29AE3037F4526e4AA56952318e0d01ADA836A</td><td>SuperChargerVault_USDC</td></tr><tr><td>0xc8Ec7f48a82a07D95110ff26FAacde9757Dd9Dc7</td><td>LendingManager_USDC</td></tr><tr><td>0x1bB2ebecfbb4F78D83FB0A21cB415383779602C9</td><td>WithdrawManager_USDC</td></tr><tr><td>0x305F06749B98D5AA5AE48B08395615ae9466DE4D</td><td>farmingvault_USDC</td></tr><tr><td>0x3aaD22346B5721A7dDF504C19FE3349aBc52ACE5</td><td>AAVEStrategy_USDC</td></tr><tr><td>0x65003ba7c8E30e7B15903F70B36924057adfD070</td><td>ExternalReward_USDC</td></tr><tr><td>0x1CD7B33Faf4F172146BcBB841C7AdDC96802e6c4</td><td>SuperChargerVault_BTC.b</td></tr><tr><td>0x697c97A37bc00C2306f2b08CA14F3d55dB6Ffccd</td><td>LendingManager_BTC.b</td></tr><tr><td>0xA429B468d222bb31Ff256f3D08DDC0A2D8a59664</td><td>WithdrawManager_BTC.b</td></tr><tr><td>0x34C3847a9d8ff02cB50ce76d9AB6B51c610EbCde</td><td>farmingvault_BTC.b</td></tr><tr><td>0xA5e994315157e776fe0c310E48e70eb7fe8a4af3</td><td>VoidStrategy_BTC.b</td></tr><tr><td>0xA5025842791224238F5606dB1f8863c87A5A9Dc1</td><td>ExternalReward_BTC.b</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="471">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Base

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossswapRouterv5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2.2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0xC4E9B633685461E7B7A807D12a246C81f96F31B8</td><td>IntegrationHelper(token info)</td></tr><tr><td>0xF3df0A31ec5EA438150987805e841F960b9471b6</td><td>WOO OFT</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="634">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x44dF096D2600C6a6db77899dB3DE3AeCff746cb8</td><td>SuperChargerVault_USDC</td></tr><tr><td>0x73Bd3C7e44E1c228713A24448e9B7250391ACa15</td><td>LendingManager_USDC</td></tr><tr><td>0xa1bb8a8ED84A37a8c93a10Df5153E612f58e34E5</td><td>WithdrawManager_USDC</td></tr><tr><td>0xf2bE87391e2040D4CB1F646fbb023C074315E94E</td><td>FarmingVault_USDC</td></tr><tr><td>0xbeaE1B06949d033Da628bA3E5aF267C3E740494b</td><td>AAVEStrategy_USDC</td></tr><tr><td>0xB4E0bcDa51B29D9C7Bdd671F169877Cc5F82CaA9</td><td>VoidStrategy_USDC</td></tr><tr><td>0xb772122C4a37fe1754B46AB1799b909351e8Cb43</td><td>SuperChargerVault_ETH</td></tr><tr><td>0x913E116cD0E279763B0419798c0bA18F9311B390</td><td>LendingManager_ETH</td></tr><tr><td>0xe61Acb121a2B538dF495A85C4E50dD8581de4ed0</td><td>WithdrawManager_ETH</td></tr><tr><td>0x5A958b9E4370Da91498F494105BBe4C4123C513f</td><td>FarmingVault_ETH</td></tr><tr><td>0xcd1B9810872aeC66d450c761E93638FB9FE09DB0</td><td>AAVEStrategy_ETH</td></tr><tr><td>0xa79e2c96Db89ceee07784C36EE2c61468D2C97bb</td><td>VoidStrategy_cbBTC</td></tr><tr><td>0x8C603050D7a913b6f63836e07ebF385a4A5736E7</td><td>SuperChargerVault_cbBTC</td></tr><tr><td>0xb29DE0c2A884aF396272086F4Aa3F0ad2DAD747b</td><td>LendingManager_cbBTC</td></tr><tr><td>0xEc054126922a9a1918435c9072c32f1B60cB2B90</td><td>WithdrawManager_cbBTC</td></tr><tr><td>0xbA3Dd3e9109dcEaE62b7192c25976CC98e132A55</td><td>FarmingVault_cbBTC</td></tr><tr><td>0x5994Fa96660dd9c29074F30337CB7Fa609C712a5</td><td>VoidStrategy_cbBTC</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="473">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="471">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# BNB smart chain

## Swap

<table><thead><tr><th width="457">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2.2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossRouterv5</td></tr><tr><td>0xAA9c15cd603428cA8ddD45e933F8EfE3Afbcc173</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="459">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x2AEab1a338bCB1758f71BD5aF40637cEE2085076</td><td>WooStakingVault 1.0</td></tr><tr><td>0xba91ffD8a2B9F68231eCA6aF51623B3433A89b13</td><td>WOOStakingProxy</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x7eb8D4CcFDBD9dF8d3520E9C5b5edf6a5Cbe4CaD</td><td>SuperChargerVault_BNB</td></tr><tr><td>0x438baAfF63Af83549020feAD36C7de167384463a</td><td>LendingManager_BNB</td></tr><tr><td>0x2698946AD5988759fa29093e9aF99eeA12a31bb4</td><td>WithdrawManager_BNB</td></tr><tr><td>0x85f16155c6c7dA460969DDB33dbD2c7E90Ca07EC</td><td>FarmingVault_BNB</td></tr><tr><td>0x624B31119F2CC85A7EA778f39e4398b7f3f337C9</td><td>VoidStrategy_BNB</td></tr><tr><td>0xc0f8C29e3a9A7650a3F642e467d70087819926d6</td><td>RewardMasterchef</td></tr><tr><td>0xf5d6560356Cc5d7FCBf4CA20736Af88B7cfa2Ad1</td><td>ExternalReward_BNB</td></tr><tr><td>0x5CB9ba4a6f05c4125D61172E1b2C1DBe3afb3158</td><td>SuperChargerVault_USDT</td></tr><tr><td>0x0510e56EDb651Fa39c3330d2f5Bf8FbECDFcc53B</td><td>LendingManager_USDT</td></tr><tr><td>0x3cBB7F9a4e1E8a8430f1d400DF269B80B6872DeB</td><td>WithdrawManager_USDT</td></tr><tr><td>0xE897b4200E3B2380469E8Dd3F987Dc62A7ADeAD7</td><td>FarmingVault_USDT</td></tr><tr><td>0x497aBdf1438C673e6a74033098d4eb14a7f3C60f</td><td>VoidStrategy_USDT</td></tr><tr><td>0xdecc5458A0fDe482Ae04aB13BD6866cfcfA8cF4B</td><td>ExternalReward_USDT</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="466">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>FeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>RebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Ethereum

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouter</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossswapRouterV5</td></tr><tr><td>0xAd6cA80Fe4D3c54f6433fF725d744772AaE87711</td><td>WooOFTAdapter</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xba91ffD8a2B9F68231eCA6aF51623B3433A89b13</td><td>Stakeproxy</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>


# Linea

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossswapRouterv5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0x7e1996945eA8866DE873179DC1677E93A4380107</td><td>IntegrationHelper(token info)</td></tr><tr><td>0xF3df0A31ec5EA438150987805e841F960b9471b6</td><td>WooOFT</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="634">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x0fd9CE310903D3750adE5cb634860Fc7D11B3523</td><td>SuperChargerVault_USDC</td></tr><tr><td>0xC7F6Fc03539FBf6Fa79270edA7d79375c65028dD</td><td>LendingManager_USDC</td></tr><tr><td>0xaaCf2201198c8bF5f2dcd5a187754b4cb9cD9198</td><td>WithdrawManager_USDC</td></tr><tr><td>0xb772122C4a37fe1754B46AB1799b909351e8Cb43</td><td>FarmingVault_USDC</td></tr><tr><td>0x913E116cD0E279763B0419798c0bA18F9311B390</td><td>AAVEStrategy_USDC</td></tr><tr><td>0x7081A38158BD050Ae4a86e38E0225Bc281887d7E</td><td>VoidStrategy_USDC</td></tr><tr><td>0xE40d544B21B0835E09FD2642C54651499ddcb0c0</td><td>SuperChargerVault_ETH</td></tr><tr><td>0x2cf870854469e77191b65d990418559B66688dCe</td><td>LendingManager_ETH</td></tr><tr><td>0x894Edf346f121bd406442CFAee29a43c80744158</td><td>WithdrawManager_ETH</td></tr><tr><td>0x6875eb0496b6BAA0527c5915d78b9BcdC800e98f</td><td>FarmingVault_ETH</td></tr><tr><td>0x9aa935113184B06109C62e8f55a76e8c8c0a963b</td><td>AAVEStrategy_ETH</td></tr><tr><td>0xB4E0bcDa51B29D9C7Bdd671F169877Cc5F82CaA9</td><td>VoidStrategy_ETH</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="470">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="474">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Mantle

## Swap

<table><thead><tr><th width="462">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrossswapRouterv5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0x86b223E83D2FA43456b433687c8F47A35a9bE24C</td><td>IntegrationHelper(token info)</td></tr><tr><td>0xF3df0A31ec5EA438150987805e841F960b9471b6</td><td>WooOFT</td></tr><tr><td></td><td></td></tr></tbody></table>

### Earn <a href="#earn" id="earn"></a>

<table><thead><tr><th width="476">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x944ebcd21Dea579B5091D141C75eC28bfE054fcA</td><td>SuperChargerVault_mETH</td></tr><tr><td>0xD6aBD5fD165fd9127b37B63aC1ab86574Bf5686e</td><td>LendingManager_mETH</td></tr><tr><td>0x8eA0eb2CEBdA4d7c88183AC8fBf3a9AE6AE07A5C</td><td>WithdrawManager_mETH</td></tr><tr><td>0xfBC49F33cb59DAaD850861d5E4D02Df923399560</td><td>farmingvault_mETH</td></tr><tr><td>0xdec7f784F655e9e505Ee137492E256685b966636</td><td>VoidStrategy_mETH</td></tr><tr><td>0x82Fde5086784e348aEd03eB7b19ded97652DB7A8</td><td>RewardMasterchef</td></tr><tr><td>0x65753506657dE6d6512df80BCBf437b7E39Ae9e3</td><td>SuperChargerVault_USDT</td></tr><tr><td>0xA8701C6A659EBddfBB399b2df6eedA853e442257</td><td>LendingManager_USDT</td></tr><tr><td>0xDDa9eF09f4d271715E2d337F71D0fC34B316c7eb</td><td>WithdrawManager_USDT</td></tr><tr><td>0xB709131900De02177f8B195CFF6C37FF5F020116</td><td>farmingvault_USDT</td></tr><tr><td>0x9aEd3A8896A85FE9a8CAc52C9B402D092B629a30</td><td>VoidStrategy_USDT</td></tr><tr><td>0x872b6ff825Da431C941d12630754036278AD7049</td><td>cmETH_SuperChargerVaultV2</td></tr><tr><td>0x2cc9938584Efa3BDF0fD19dDBB1828A672AE2376</td><td>cmETH_LendingManager</td></tr><tr><td>0xA14C57b073E6DA6BcC23FC0E6934665118F05701</td><td>cmETH_WithdrawManagerV2</td></tr><tr><td>0xb8db696e67553030f3B5C5Ee6e297b7BBCd98F55</td><td>cmETH_WOOFiVaultV2</td></tr><tr><td>0x46A7213343e68809D04cd1c88E7Fd1DD606cd86a</td><td>cmETH_VoidStrategy</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="471">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# OP mainnet

## Swap

<table><thead><tr><th width="461">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrosswapRouter v5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2.2</td></tr><tr><td>0xA43305Ce0164D87d7B2368f91a1dcC4eBdA75127</td><td>WooracleV2.2</td></tr><tr><td>0x96329d66074EB8386Ae8bFD6698B2E3FDA87e15E</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="462">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xba91ffD8a2B9F68231eCA6aF51623B3433A89b13</td><td>StakeProxy</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="467">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xB54e1d90d845d888d39dcaCBd54a3EEc0d8853B2</td><td>SuperChargerVault_ETH</td></tr><tr><td>0x1dDd225ef26714Bb8055dDCEaEE2589ba09c89ed</td><td>LendingManager_ETH</td></tr><tr><td>0x91741863A48f0B29fC0B6D10b3cdE2122feB58f7</td><td>WithdrawManager_ETH</td></tr><tr><td>0x7e1996945eA8866DE873179DC1677E93A4380107</td><td>farmingvault_ETH</td></tr><tr><td>0x95360A64447Ca746B82ABd1D0ED49f3E34F2e6E9</td><td>AaveStrategy_ETH</td></tr><tr><td>0xc0f8C29e3a9A7650a3F642e467d70087819926d6</td><td>RewardMasterchef</td></tr><tr><td>0xcA7184eA1cb4cF04d49Bf219c49a39231299dA26</td><td>SuperChargerVault_OP</td></tr><tr><td>0xD2635bc7e4E4F63B2892eD80D0b0f9Dff7eDA899</td><td>LendingManager_OP</td></tr><tr><td>0x0FAd8f10746171C0616cE4B7B4E2e9439a9a02E2</td><td>WithdrawManager_OP</td></tr><tr><td>0xa8452E2d63B29783ED2E5ca0d8D4Fe0cC2161D5B</td><td>farmingvault_OP</td></tr><tr><td>0xDa4B53F75921C109fED0ffd8AD9f22430B4c3438</td><td>voidstrategy_OP</td></tr><tr><td>0x18aa88bb25b8f15FDbE329f789dD000bf679753E</td><td>SuperChargerVault_USDC</td></tr><tr><td>0x4bAa5Fd82A455f2BfEFF4FBB91969288D7DE7316</td><td>LendingManager_USDC</td></tr><tr><td>0x2500AD59b46fF4B96f8e1EaC3fE1f78eAF955777</td><td>WithdrawManager_USDC</td></tr><tr><td>0x73504eaCB100c7576146618DC306c97454CB3620</td><td>USDC_VaultV2</td></tr><tr><td>0xfD7ed9D3d4fD88595AF6a87f798ffDB42b4D7ccB</td><td>USDC_StrategyAave</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="469">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x4E21a65A9F4672EF2cdfb7FA6B0f1e39d6e4E50e</td><td>ProDepositor</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="473">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Polygon PoS

## Swap

<table><thead><tr><th width="461">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0xB84aEfEF2DDDE628d5c7F1fba320dE63e3f4757c</td><td>CrosswapRouterV5</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPv2</td></tr><tr><td>0x2A8Ede62D0717C8C92b88639ecf603FDF31A8428</td><td>WooracleV2.2</td></tr><tr><td>0x7Ba560eB735AbDCf9a3a5692272652A0cc81850d</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Stake

<table><thead><tr><th width="462">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x9BCf8b0B62F220f3900e2dc42dEB85C3f79b405B</td><td>Stake 1.0</td></tr><tr><td>0xba91ffD8a2B9F68231eCA6aF51623B3433A89b13</td><td>StakeProxy 2.0</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="465">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x9DD5dD86b978f17628f01307A83347d9Ec9B0699</td><td>SuperChargerVault_MATIC</td></tr><tr><td>0x9f46a7F7AFd5a595C782E57B5DAe1FcC01BFF18D</td><td>LendingManager_MATIC</td></tr><tr><td>0x382A9b0bC5D29e96c3a0b81cE9c64d6C8F150Efb</td><td>WithdrawManager_MATIC</td></tr><tr><td>0xD5BEfE3Fecdf1C941c58119a4e395806Eea0C343</td><td>farmingvault_MATIC</td></tr><tr><td>0xee840247598726a71C234F6ED9B770dBb8e03f20</td><td>VoidStrategy_MATIC</td></tr><tr><td>0x6dE98Df2005efd6793FC615bf0231de2086ae82D</td><td>ExternalReward_MATIC</td></tr><tr><td>0xc0f8C29e3a9A7650a3F642e467d70087819926d6</td><td>RewardMasterchef</td></tr><tr><td>0xeDBB74dA05D58b22F07184BB79ED9124791799Ac</td><td>SuperChargerVault_ETH</td></tr><tr><td>0x01E42CE7CDcb7a2EAaE0BB8BdCe52F0bBb63f139</td><td>LendingManager_ETH</td></tr><tr><td>0x7f78213da92552D00Bd676466aB2ef8A9287Fd4C</td><td>WithdrawManager_ETH</td></tr><tr><td>0x99Ad6e3c00DFBcd80b7593B1Cd8Fb8a9F1a2d230</td><td>Farmingvault_ETH</td></tr><tr><td>0x33706009ce9Fb3b96C0F6Bd88126B44445E77d5b</td><td>VoidStrategy_ETH</td></tr><tr><td>0x076AFF456b04A84aDB3Eb207Cb1e28EA3baB9BdB</td><td>ExternalReward_ETH</td></tr><tr><td>0x1109E03516eB25eAb2150D0b274B8D4F5F3cF549</td><td>SuperChargerVault_USDC</td></tr><tr><td>0x697c97A37bc00C2306f2b08CA14F3d55dB6Ffccd</td><td>LendingManager_USDC</td></tr><tr><td>0x3Fe2c827FF572B8fe03b7d16695c88F21448B3B9</td><td>WithdrawManager_USDC</td></tr><tr><td>0x28F88A809cCc085956AB9f978067698d25de014C</td><td>farmingvault_USDC</td></tr><tr><td>0x78aA58E5d61B525EABA8243D42451027a40705DE</td><td>AAVEStrategy_USDC</td></tr><tr><td>0x8Ec402bD731AB88928104ccF8ee5bb41d5FEC784</td><td>ExternalReward_USDC</td></tr></tbody></table>

## Pro

<table><thead><tr><th width="466">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xac8951A442fe70342f9597044B7b7657D5ad55ec</td><td>ProCrossChainRouter</td></tr><tr><td>0x3933CA6058E3549bbf25BA71901b82C11916EC16</td><td>ProxyAdmin</td></tr><tr><td>0x88A19967013CA274c296bFA433eb1BAc4D47B0dc</td><td>NonceCounter</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="469">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# zkSync Era

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x09873bfECA34F1Acd0a7e55cDA591f05d8a75369</td><td>WooRouterV2</td></tr><tr><td>0xE656d70bc3550e3EEE9dE7dC79367A44Fd13d975</td><td>WooPPV2</td></tr><tr><td>0xAe45cBE2d1E90358CbD216bC16f2C9267a4EA80a</td><td>WooracleV2.1</td></tr><tr><td>0x636DfeB023463F176f87D61E3B604231986bd935</td><td>IntegrationHelper (token info)</td></tr><tr><td>0xF38583e662d3DC8bBE9ce791f06E1Dd46800AaaF</td><td>WooOFT</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="467">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xDCA324bdD4eBB6b8a1802959324Ce125b5D57921</td><td>SuperChargerVault_USDC</td></tr><tr><td>0x17927D09b8033e2F6e37C488ea6DC4C339Ef1f6a</td><td>LendingManager_USDC</td></tr><tr><td>0xF66e17fCd5914f57ADF584457A527B1A8e5C37Ff</td><td>WithdrawManager_USDC</td></tr><tr><td>0x805b06c952e824ef7F818893FF37C8B0C2dB502a</td><td>FarmingVault_USDC</td></tr><tr><td>0xD5E4D961FD8A998dD62826e14251cc2628E270ba</td><td>VoidStrategy_USDC</td></tr><tr><td>0x1d686250BBffA9Fe120B591F5992DD7fC0FD99a4</td><td>SuperChargerVault_ETH</td></tr><tr><td>0xaEed9101c760A2a306B6B9Ed774A775Ecc9686F3</td><td>LendingManager_ETH</td></tr><tr><td>0x674db8f08620726dAC5eF787D5e1F4784a3ABC23</td><td>WithdrawManager_ETH</td></tr><tr><td>0xc5D8fC6a7E72CA1e5041d528feEF42D7bD8A770c</td><td>FarmingVault_ETH</td></tr><tr><td>0x5DaB2541175FBB2CAd3DC624Ee41917284a00fEb</td><td>VoidStrategy_ETH</td></tr><tr><td>0x85167f7f3f367E0Be7b4d3a8C2B1648f56dfdB45</td><td>SuperChargerVault_ZK</td></tr><tr><td>0x2aCE3A5F4C7384e0C7a95333E81f708B6B534873</td><td>LendingManager_ZK</td></tr><tr><td>0xF383aE33651A79290246472a0603e4c32C72386a</td><td>WithdrawManager_ZK</td></tr><tr><td>0x9aF29B3e849e187e30D622058417c094f94875cE</td><td>FarmingVault_ZK</td></tr><tr><td>0x26fb0dBe790659E5E69E3D89caC0F5967DC1B6e9</td><td>VoidStrategy_ZK</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x01B50b57a3D3C1a54433813585E60713e75f3de9</td><td>WooFeeManager</td></tr><tr><td>0x66C9467eC052Fb258e24DcCe87E93A0002966014</td><td>WooRebateManager</td></tr><tr><td>0x35a62C09427BE1BaE622d4492b851338969721B5</td><td>WooAccessManager</td></tr></tbody></table>


# Sonic

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0xc8521e41DE46036A61c562062862681f0060CD7E</td><td>IntegrationHelper (token info)</td></tr><tr><td>0xF3df0A31ec5EA438150987805e841F960b9471b6</td><td>WooOFT</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xF951175d04C94BC908CAB79FD846D3be7D0A37dd</td><td>SuperChargerVault_S</td></tr><tr><td>0x4DF34A29aabd0694A62cbF65a844E12A44617975</td><td>LendingManager_S</td></tr><tr><td>0x87bca268E282dbc00477a24883542F87D40dEB5c</td><td>WithdrawManager_S</td></tr><tr><td>0xCfe6aa6224EfAcee636Bf6Defa281D86DCbB192c</td><td>FarmingVault_S</td></tr><tr><td>0xF314FA27066bdde92e6122059B103E8899D0a096</td><td>VoidStrategy_S</td></tr><tr><td>0x1dDd225ef26714Bb8055dDCEaEE2589ba09c89ed</td><td>WooSuperChargerVaultV2_WETH</td></tr><tr><td>0x91741863A48f0B29fC0B6D10b3cdE2122feB58f7</td><td>WooLendingManager_WETH</td></tr><tr><td>0xd1D3A7D0cA508998DE5cBfb86CeCD0546F0e287C</td><td>WooWithdrawManagerV2_WETH</td></tr><tr><td>0xEe8318E9d597Bf9DF6148E86D4e35a8Bc14EEA88</td><td>Vault_WETH</td></tr><tr><td>0x64EDb6450F5a1C6158D76C1E30900fD7D8493636</td><td>VoidStrategy_WETH</td></tr><tr><td>0x758231B7D5204d08634dd3f9fCDf49FC17355d33</td><td>WooSuperChargerVaultV2_USDC.e</td></tr><tr><td>0xCC96Ba33Eae1147BA8B0C73D3dd4cEe40d681EE9</td><td>WooLendingManager_USDC.e</td></tr><tr><td>0xD5BEfE3Fecdf1C941c58119a4e395806Eea0C343</td><td>WooWithdrawManagerV2_USDC.e</td></tr><tr><td>0x5dB04B6335c26ee147AfBEc161Aff6E90239b4B8</td><td>Vault_USDC.e</td></tr><tr><td>0x2DF39335b79783b7e02AFcf552303602C14f5208</td><td>VoidStrategy_USDC.e</td></tr><tr><td>0x0FAd8f10746171C0616cE4B7B4E2e9439a9a02E2</td><td>RewardMasterchef</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# HyperEVM

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0xEe8318E9d597Bf9DF6148E86D4e35a8Bc14EEA88</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Bera Chain

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0x14B435b68e031226ACc4d328a69e294686C3176e</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Earn

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xF951175d04C94BC908CAB79FD846D3be7D0A37dd</td><td>SuperChargerVault_USDC.e</td></tr><tr><td>0x4DF34A29aabd0694A62cbF65a844E12A44617975</td><td>LendingManager_USDC.e</td></tr><tr><td>0x87bca268E282dbc00477a24883542F87D40dEB5c</td><td>WithdrawManager_USDC.e</td></tr><tr><td>0xCfe6aa6224EfAcee636Bf6Defa281D86DCbB192c</td><td>FarmingVault_USDC.e</td></tr><tr><td>0xF314FA27066bdde92e6122059B103E8899D0a096</td><td>VoidStrategy_USDC.e</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Monad

## Swap

<table><thead><tr><th width="463">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0x4c4AF8DBc524681930a27b2F1Af5bcC8062E6fB7</td><td>WooRouterV2</td></tr><tr><td>0x5520385bFcf07Ec87C4c53A7d8d65595Dff69FA4</td><td>WooPPV2</td></tr><tr><td>0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6</td><td>WooracleV2.1</td></tr><tr><td>0xAeE024fAA57C4DB20ac0666a1D5297d5F1c95AfE</td><td>IntegrationHelper (token info)</td></tr></tbody></table>

## Peripheries

<table><thead><tr><th width="472">Address</th><th>Contract</th></tr></thead><tbody><tr><td>0xc45B55032caFeaff3b8057d52758D8f8211DA54D</td><td>WooFeeManager</td></tr><tr><td>0x7616614084e040028D6a61c0f3A9699c121A6500</td><td>WooRebateManager</td></tr><tr><td>0xAf558f888e138CA9416111Ec7aE8e28354Cd9239</td><td>WooAccessManager</td></tr></tbody></table>


# Data APIs

* [Swap APIs](/dev-docs/references/apis/swap)
* [Earn & Stake APIs](/dev-docs/references/apis/earn-and-stake)


# Swap

### General Info

* The base endpoint is: [**https://fi-api.woo.org**](https://fi-api.woo.org/)
* All endpoints return JSON object.

### Stat

`GET /stat`

**Parameters**

| Name    | Type   |                               Description                              |
| ------- | ------ | :--------------------------------------------------------------------: |
| network | String | option `bsc` / `avax` / `fantom` / `polygon` / `arbitrum` / `optimism` |
| period  | String |    optional: `1d` / `1w` / `1m` / `3m` / `1y` / `all` default: `1m`    |

**period: 1d, Returns**

| Name        |  Type  | Description                                           |
| ----------- | :----: | ----------------------------------------------------- |
| id          | String | `timestamp / 3600`roun down                           |
| timestamp   | String | timestamp on the hour                                 |
| volume\_usd | String | hourly volume(value multiplied by 10^18)(unit: `USD`) |
| traders     | String | hourly number of address per hour                     |
| txs         | String | hourly number of trades per hour                      |

**period: 1w / 1m / 3m / 1y / all, Returns**

| Name                       |   Type  | Description                                          |
| -------------------------- | :-----: | ---------------------------------------------------- |
| id                         |  String | `timestamp / 86400`round down                        |
| timestamp                  |  String | UTC 0                                                |
| volume\_usd                |  String | Daily volume(value multiplied by 10^18)(unit: `USD`) |
| traders                    |  String | daily number of address                              |
| txs                        |  String | daily number of trades                               |
| turnover\_rate\_percentage | Decimal | daily turnover rate (unit: `%`)                      |

### Source Stat

`GET /source_stat`

**Params**

| Name    |  Type  | Description                                                      |
| ------- | :----: | ---------------------------------------------------------------- |
| network | String | default `''` option `bsc` / `avax` / `fantom` / `polygon`        |
| period  | String | optional: `1d` / `1w` / `1m` / `3m` / `1y` / `all` default: `1m` |

**Returns**

| Name        |   Type  | Description                                           |
| ----------- | :-----: | ----------------------------------------------------- |
| id          |  String | source id                                             |
| name        |  String | source name                                           |
| volume\_usd |  String | source volume(value multiplied by 10^18)(unit: `USD`) |
| txs         | Integer | source number of trades                               |
| percentage  | Decimal | pie chart(unit: `%`)                                  |




---

[Next Page](/llms-full.txt/1)

