<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Revert</title>
        <link>https://paragraph.com/@revertfinance</link>
        <description>Actionable analytics for liquidity providers in AMM protocols</description>
        <lastBuildDate>Sun, 24 May 2026 20:44:39 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Revert</title>
            <url>https://storage.googleapis.com/papyrus_images/ea41dd23e4b6486e440272ffd774ea068f4b8f56423aba0b568b9fa8187603d5.png</url>
            <link>https://paragraph.com/@revertfinance</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[PancakeSwap is back (on Revert)]]></title>
            <link>https://paragraph.com/@revertfinance/pancakeswap-is-back-on-revert</link>
            <guid>b9wW3U0MmlbMK9SKtBC4</guid>
            <pubDate>Mon, 18 May 2026 18:31:09 GMT</pubDate>
            <description><![CDATA[PancakeSwap v3 on BNB Chain is again tracked end-to-end on Revert after more than two years offline. Alongside the relaunch, we're adding fresh coverage for PancakeSwap v3 on Base and PancakeSwap v3 on Arbitrum. PancakeSwap currently carries roughly $2.2B in TVL and ~$87B in monthly volume. The bulk is on BNB, with around $3.6B on Base and $513M on Arbitrum, both growing. With these three integrations live, Revert now covers the bulk of PancakeSwap's concentrated-liquidity surface. The BNB ga...]]></description>
            <content:encoded><![CDATA[<p>PancakeSwap v3 on BNB Chain is again tracked end-to-end on Revert after more than two years offline. Alongside the relaunch, we're adding fresh coverage for PancakeSwap v3 on Base and PancakeSwap v3 on Arbitrum.</p><p>PancakeSwap currently carries roughly <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://dune.com/pancakeswap/pancakeswap-dex">$2.2B in TVL and ~$87B in monthly volume</a>. The bulk is on BNB, with around $3.6B on Base and $513M on Arbitrum, both growing. With these three integrations live, Revert now covers the bulk of PancakeSwap's concentrated-liquidity surface.</p><p> The BNB gap came down to one thing: our subgraph stalled at ~70% sync and never caught up to BSC's event throughput. We routed that specific workload onto <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.envio.dev/blog/revert-finance-pancakeswap-bnb-hyperindex">Envio's HyperIndex</a>, and the full historical sync (over 1.7B events) finished in ten days. <br><br>With indexing solved and historical state fully reconstructed, PancakeSwap positions across all three networks are now tracked inside Revert with the same analytics stack used across the rest of the platform.</p><p><strong> What you get</strong></p><p>- Full analytics on existing and historical positions<br>- Surfaced in Discover when you're scoping a new position to open<br>- The same automation suite you know and love<br>- Top Positions tracking</p><p>Returning BNB users: positions are already backfilled. New positions on Base and Arbitrum start tracking from mint.<br><br><strong>Try it</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://revert.finance">revert.finance</a> → connect → your PancakeSwap v3 positions on BNB, Base, and Arbitrum will appear alongside the rest.</p><p>Tracking is up across all three networks today. <br>Revert Lend on PancakeSwap is what's next.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/ef65ee59f6a21d33e61afd58f6c4d86edecb98369a138d5605ce3a2703e4fac8.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Post‑Mortem: Aerodrome Lend Vault Incident on Base]]></title>
            <link>https://paragraph.com/@revertfinance/post‑mortem-aerodrome-lend-vault-incident-on-base</link>
            <guid>8oVVrMOsLf9kf021Zdqk</guid>
            <pubDate>Fri, 30 Jan 2026 21:56:41 GMT</pubDate>
            <description><![CDATA[Date: January 30, 2026 Network: Base Status: Aerodrome Lend is currently paused (new deposits/borrows disabled) On January 29, 2026 we announced support for Aerodrome concentrated liquidity positions on Base: https://paragraph.com/@revertfinance/revert-lend-now-supports-aerodrome-on-base A few hours later, we received and verified a report of an exploit affecting the newly deployed Aerodrome Lend vault. We immediately disabled new deposits and new borrows via our emergency multisig and commun...]]></description>
            <content:encoded><![CDATA[<p><strong>Date:</strong> January 30, 2026<br><strong>Network:</strong> Base<br><strong>Status:</strong> Aerodrome Lend is currently <strong>paused</strong> (new deposits/borrows disabled)</p><p>On January 29, 2026 we announced support for Aerodrome concentrated liquidity positions on Base:<br><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://paragraph.com/@revertfinance/revert-lend-now-supports-aerodrome-on-base">https://paragraph.com/@revertfinance/revert-lend-now-supports-aerodrome-on-base</a></p><p>A few hours later, we received and verified a report of an exploit affecting the <strong>newly deployed Aerodrome Lend vault</strong>. We immediately <strong>disabled new deposits and new borrows</strong> via our emergency multisig and communicated the pause publicly:<br><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/revertfinance/status/2017087480772600157">https://x.com/revertfinance/status/2017087480772600157</a></p><hr><h2 id="h-tldr" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">TL;DR</h2><ul><li><p><strong>All user funds are safe.</strong></p></li><li><p>The <strong>USDC in the affected vault was 100% Revert team capital</strong> (no third‑party user deposits were in the pool at the time).</p></li><li><p><strong>Only the Aerodrome Lend vault on Base was affected.</strong> No other Revert vaults/products were impacted.</p></li><li><p>This deployment had <strong>three independent audits</strong> (Cantina, PeckShield, HYDN). We are implementing fixes and will not re‑enable Aerodrome Lend without <strong>additional independent review/audit</strong> of the changes.</p></li></ul><hr><h2 id="h-impact" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Impact</h2><ul><li><p><strong>Loss:</strong> ~50,101.744193 USDC (protocol‑owned / Revert team funds)</p></li><li><p><strong>User impact:</strong> none (no user funds in the affected pool)</p></li><li><p><strong>Affected component:</strong> Aerodrome Lend vault integration (Base)</p></li></ul><h3 id="h-onchain-transactions-base" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Onchain transactions (Base)</h3><table style="min-width: 244px"><colgroup><col><col style="width: 144px"><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>#</p></th><th colspan="1" rowspan="1" colwidth="144"><p>Tx</p></th><th colspan="1" rowspan="1"><p>Block</p></th><th colspan="1" rowspan="1"><p>Time (UTC)</p></th><th colspan="1" rowspan="1"><p>Amount</p></th></tr><tr><td colspan="1" rowspan="1"><p>1</p></td><td colspan="1" rowspan="1" colwidth="144"><p>https://basescan.org/tx/0x10429eaeb479f9149854e4aeb978a35ac02d9688f6e22371712b3878c63a64ab</p></td><td colspan="1" rowspan="1"><p>41475479</p></td><td colspan="1" rowspan="1"><p>02:31</p></td><td colspan="1" rowspan="1"><p>49,000 USDC</p></td></tr><tr><td colspan="1" rowspan="1"><p>2</p></td><td colspan="1" rowspan="1" colwidth="144"><p>https://basescan.org/tx/0xe7f8405d3f10d431ce1958942dcf877cf1dcbea4f2a2a918fa8499d778295ee3</p></td><td colspan="1" rowspan="1"><p>41477209</p></td><td colspan="1" rowspan="1"><p>03:29</p></td><td colspan="1" rowspan="1"><p>1,101.744193 USDC</p></td></tr></tbody></table><p>A second exploit transaction occurred ~58 minutes after the first, from a different address.</p><hr><h2 id="h-timeline-utc" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Timeline (UTC)</h2><ul><li><p><strong>Jan 29, 2026:</strong> Aerodrome support announced (launch post linked above)</p></li><li><p><strong>Jan 30, 2026 ~02:31:</strong> Exploit transaction #1</p></li><li><p><strong>Jan 30, 2026 ~03:29:</strong> Exploit transaction #2</p></li><li><p><strong>Shortly after verification:</strong> New deposits and borrows disabled via emergency multisig; Aerodrome Lend paused</p></li><li><p><strong>Jan 30, 2026 14:14:21:</strong> Onchain recovery outreach sent to the address thatcontrol the exploited funds.</p></li></ul><hr><h2 id="h-what-happened-technical-overview" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What happened (technical overview)</h2><p>Aerodrome Lend allows Aerodrome Slipstream concentrated liquidity positions (NFTs) to be used as <strong>collateral</strong> in a lending vault, while optionally being <strong>staked</strong> for gauge rewards and autocompounding.</p><p>This incident was caused by an <strong>end‑to‑end invariant gap</strong> across multiple contracts involved in that flow. </p><p>The <strong>staking/automation layer</strong> (used to stake positions and execute position-management operations) included a pathway that allowed the position owner to execute operations that could materially change the position, even when that position was flagged as a vault-collateralized position.</p><p>In short, the attacker was able to <strong>withdraw liquidity from a collateralized (and staked) LP position</strong> while leaving the vault with an NFT that still existed but no longer represented the expected collateral value for the outstanding loan.</p><h3 id="h-attack-flow-simplified" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Attack flow (simplified)</h3><ol><li><p>Flash‑loan funds were used to mint an Aerodrome Slipstream LP position (NFT).</p></li><li><p>The attacker deposited the NFT into the Aerodrome Lend vault as collateral.</p></li><li><p>The attacker borrowed USDC against that collateral.</p></li><li><p>The position was staked through the vault’s staking/manager flow.</p></li><li><p>The attacker used a GaugeManager execution path (via a utility contract) that temporarily unstakes the NFT and executes position‑management instructions.</p></li><li><p>That execution path did not enforce the constraints required for <strong>positions backing active debt</strong>, allowing liquidity to be withdrawn and routed to the attacker.</p></li><li><p>The flash loan was repaid and the borrowed USDC became profit.</p></li></ol><hr><h2 id="h-root-cause" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Root cause</h2><p>The root cause was a missing safety constraint in the staking/management layer: a collateralized position with active debt could still be modified through an execution path in a way that <strong>reduced its collateral value</strong> without the vault preventing the action at the time it happened.</p><hr><h2 id="h-immediate-response" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Immediate response</h2><ul><li><p>Verified the report and confirmed the issue onchain.</p></li><li><p>Disabled <strong>new deposits and new borrows</strong> for the Aerodrome Lend vault via emergency multisig.</p></li><li><p>Communicated the pause publicly and began remediation.</p></li></ul><hr><h2 id="h-remediation-and-next-steps" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Remediation &amp; next steps</h2><p>Aerodrome Lend will remain <strong>paused</strong> while we:</p><ul><li><p>implement fixes to ensure collateralized positions cannot be modified in ways that break collateral backing,</p></li><li><p>complete additional internal review and testing of the Aerodrome integration and surrounding flows,</p></li><li><p>commission <strong>additional independent security review/audit</strong> specifically focused on the incident root cause and the final remediation.</p></li></ul><p>We will publish follow‑up updates as we complete these steps. Aerodrome Lend will not be re‑enabled until the fixes are deployed and the additional independent review/audit is complete.</p><hr><h2 id="h-contracts-involved" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Contracts involved</h2><table style="min-width: 75px"><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Contract</p></th><th colspan="1" rowspan="1"><p>Address</p></th><th colspan="1" rowspan="1"><p>Role</p></th></tr><tr><td colspan="1" rowspan="1"><p>Revert Lend Vault</p></td><td colspan="1" rowspan="1"><p><code>0x22CE292d882C7799183949509B011512352454cB</code></p></td><td colspan="1" rowspan="1"><p>Lending vault</p></td></tr><tr><td colspan="1" rowspan="1"><p>GaugeManager</p></td><td colspan="1" rowspan="1"><p><code>0x66a2481b784Cf26103441cA6067F997f90d3E129</code></p></td><td colspan="1" rowspan="1"><p>Gauge staking manager</p></td></tr><tr><td colspan="1" rowspan="1"><p>V3Utils</p></td><td colspan="1" rowspan="1"><p><code>0x7D1F9FC22bed0798cda3fdb18b14a96fc838B9E1</code></p></td><td colspan="1" rowspan="1"><p>Position utility contract</p></td></tr><tr><td colspan="1" rowspan="1"><p>Aerodrome Gauge</p></td><td colspan="1" rowspan="1"><p><code>0xfd548a1C01f1547b305313e4D42BD9C714EFdF6a</code></p></td><td colspan="1" rowspan="1"><p>LP staking gauge cont</p></td></tr><tr><td colspan="1" rowspan="1"><p>Morpho</p></td><td colspan="1" rowspan="1"><p><code>0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb</code></p></td><td colspan="1" rowspan="1"><p>Flash loan provider</p></td></tr></tbody></table><hr><h2 id="h-security-reviews-audits" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Security reviews / audits</h2><p>Prior to launch, the Revert Lend deployment and supporting components underwent <strong>three independent audits/reviews</strong>:</p><ul><li><p><strong>Cantina</strong>:<br><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://cantina.xyz/portfolio/cfb5a6a0-0061-4f14-ab5a-195ed6b7816d">https://cantina.xyz/portfolio/cfb5a6a0-0061-4f14-ab5a-195ed6b7816d</a></p></li><li><p><strong>PeckShield</strong>:<br><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/peckshield/publications/blob/master/audit_reports/PeckShield-Audit-Report-Revert-v4Utils-v1.0.pdf">https://github.com/peckshield/publications/blob/master/audit_reports/PeckShield-Audit-Report-Revert-v4Utils-v1.0.pdf</a></p></li><li><p><strong>HYDN</strong>:<br><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/hydnsec/audits/blob/main/Revert%20Finance%20-%20Lend/HYDN%20-%20Revert%20Finance%20Lend%20-%20aero%20-%20Audit.pdf">https://github.com/hydnsec/audits/blob/main/Revert%20Finance%20-%20Lend/HYDN%20-%20Revert%20Finance%20Lend%20-%20aero%20-%20Audit.pdf</a></p></li></ul><p>Audits reduce risk, but they are not a guarantee. We take responsibility for this incident and are adding additional review/audit before re‑enabling Aerodrome Lend.</p><p>After the incident, <strong>HYDN Security</strong> proactively reached out and assisted our team during incident response and remediation planning.</p><hr><h2 id="h-thank-you-reporting" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Thank you / reporting</h2><p>Thank you to the reporter who raised the issue quickly. If you believe you have found a vulnerability, please disclose it responsibly via the security contact listed in our documentation.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[Revert Lend Now Supports Aerodrome on Base

]]></title>
            <link>https://paragraph.com/@revertfinance/revert-lend-now-supports-aerodrome-on-base</link>
            <guid>romzqnGvfelpYFhCT93b</guid>
            <pubDate>Thu, 29 Jan 2026 22:19:18 GMT</pubDate>
            <description><![CDATA[We're excited to announce that Revert Lend is now live for Aerodrome concentrated liquidity positions on Base. This expansion brings the full power of Revert's lending protocol to Aerodrome LPs, enabling new ways to maximize capital efficiency while earning AERO rewards.Aerodrome LPs on Base can now:Borrow against LP positions – Use your Aerodrome concentrated liquidity positions as collateral to borrow USDC while continuing to earn trading fees and AERO rewardsLeverage your positions – Ampli...]]></description>
            <content:encoded><![CDATA[<h2 id="h-" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"></h2><h2 id="h-were-excited-to-announce-that-revert-lend-is-now-live-for-aerodrome-concentrated-liquidity-positions-on-base-this-expansion-brings-the-full-power-of-reverts-lending-protocol-to-aerodrome-lps-enabling-new-ways-to-maximize-capital-efficiency-while-earning-aero-rewards" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">We're excited to announce that&nbsp;<strong>Revert Lend</strong>&nbsp;is now live for Aerodrome concentrated liquidity positions on Base. This expansion brings the full power of Revert's lending protocol to Aerodrome LPs, enabling new ways to maximize capital efficiency while earning AERO rewards.</h2><p>Aerodrome LPs on Base can now:</p><ul><li><p><strong>Borrow against LP positions</strong>&nbsp;– Use your Aerodrome concentrated liquidity positions as collateral to borrow USDC while continuing to earn trading fees and AERO rewards</p></li><li><p><strong>Leverage your positions</strong>&nbsp;– Amplify your LP exposure by borrowing, swapping, and adding to your position atomically</p></li><li><p><strong>Autocompound AERO rewards</strong>&nbsp;– Automatically compound your AERO emissions back into your LP position to maximize returns</p></li><li><p><strong>Stake with one click</strong>&nbsp;– Deposit positions into Aerodrome gauges through our Revert-Staker to earn AERO rewards while maintaining access to all Revert features</p></li></ul><h2 id="h-why-this-matters" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Why This Matters</strong></h2><p>Concentrated liquidity positions on Aerodrome represent significant capital. Until now, this capital was locked—earning fees and AERO rewards, but otherwise idle.</p><p>With Revert Lend, you can put that capital to work:</p><ol><li><p><strong>Deposit your Aerodrome LP position</strong>&nbsp;as collateral</p></li><li><p><strong>Borrow USDC</strong>&nbsp;at competitive rates</p></li><li><p><strong>Leverage up</strong>&nbsp;to amplify your exposure and yield</p></li><li><p><strong>Keep earning</strong>&nbsp;trading fees and AERO rewards on your position</p></li><li><p><strong>Autocompound</strong>&nbsp;your AERO rewards to amplify returns</p></li></ol><p>All without giving up control of your position.</p><h2 id="h-leverage" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Leverage</strong></h2><p>For LPs looking to amplify their exposure, Revert Lend enables one-click leverage. Borrow against your position, swap into your desired tokens, and add liquidity—all in a single atomic transaction.</p><p>This means you can:</p><ul><li><p>Increase your position size without additional capital</p></li><li><p>Amplify fee earnings and AERO rewards</p></li><li><p>Deleverage just as easily when you want to reduce exposure</p></li></ul><p>The leverage flow handles the complexity of borrowing, swapping, and redepositing, giving you a streamlined way to scale your positions.</p><h2 id="h-aero-autocompounding" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>AERO Autocompounding</strong></h2><p>One of the most requested features from our users: automatic compounding of AERO rewards. Instead of manually claiming AERO, swapping it, and redepositing liquidity, Revert handles this for you.</p><p>The autocompounder:</p><ul><li><p>Collects your earned AERO rewards</p></li><li><p>Swaps them optimally into your position's token pair</p></li><li><p>Redeposits as concentrated liquidity in your existing range</p></li></ul><p>This turns your gauge rewards into compounding yield without any manual intervention.</p><h2 id="h-how-it-works" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>How It Works</strong></h2><ol><li><p>Navigate to your position on&nbsp;<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://revert.finance"><strong>revert.finance</strong></a></p></li><li><p>Stake with Revert-Staker to unlock lending and automation features</p></li><li><p>Enable autocompounding, leverage up, and/or use your position as collateral</p></li></ol><h2 id="h-security" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Security</strong></h2><p>Revert Lend for Aerodrome has undergone comprehensive audits by&nbsp;<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://cantina.xyz/portfolio/cfb5a6a0-0061-4f14-ab5a-195ed6b7816d"><strong>Cantina</strong></a>,&nbsp;<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/peckshield/publications/blob/master/audit_reports/PeckShield-Audit-Report-Revert-v4Utils-v1.0.pdf"><strong>PeckShield</strong></a>, and&nbsp;<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/hydnsec/audits/blob/main/Revert%20Finance%20-%20Lend/HYDN%20-%20Revert%20Finance%20Lend%20-%20aero%20-%20Audit.pdf"><strong>Hydn</strong></a>. </p><h2 id="h-get-started" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Get Started</strong></h2><p>Aerodrome LP positions are now eligible for Revert Lend on Base. Visit&nbsp;<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://revert.finance"><strong>revert.finance</strong></a>&nbsp;to start borrowing against your positions, leveraging up, and activating AERO autocompounding.</p><hr><br>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/91b5b944c4d48d20be69e7f68029a192ad6988e9c8a7173ddaabe7efba0db45c.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Revert Now Supports Uniswap v4 on Ethereum Mainnet and Unichain]]></title>
            <link>https://paragraph.com/@revertfinance/revert-now-supports-uniswap-v4-on-ethereum-mainnet-and-unichain</link>
            <guid>04TFGmduHB86hKVFV5C2</guid>
            <pubDate>Mon, 01 Dec 2025 18:20:45 GMT</pubDate>
            <description><![CDATA[Today we’re rolling Uniswap v4 integration on Ethereum Mainnet and Unichain. This launch announcement is simple: the analytics you already know and love, now for Uniswap V4. Every V4 position comes with the full Revert metrics stack, with Hook integrations coming soon. LPs can now analyze v4 positions, backtest ranges, and manage them directly in Revert. When creating positions, v4 pools appear alongside every other supported market, with the same performance metrics, charts, and historical d...]]></description>
            <content:encoded><![CDATA[<p>Today we’re rolling <strong>Uniswap v4 integration on Ethereum Mainnet and Unichain</strong>. </p><p>This launch announcement is simple: <strong>the analytics you already know and love, now for Uniswap V4</strong>. Every V4 position comes with the full Revert metrics stack, with Hook integrations coming soon.</p><p>LPs can now analyze v4 positions, backtest ranges, and manage them directly in Revert.  When creating positions, v4 pools appear alongside every other supported market, with the same performance metrics, charts, and historical data users already rely on.</p><p>This launch also includes <strong>V4Utils</strong>, our dedicated suite of <strong>on-chain utilities for Uniswap v4 LPs</strong>. The toolset covers the core actions LPs use constantly: <strong>Move Range</strong>, <strong>Swap-and-Mint</strong>, <strong>Decrease-and-Swap</strong>, <strong>Collect-and-Swap</strong>, and other streamlined zaps that collapse multi-step v4 workflows into clean, atomic transactions.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d6429b8009dc8a814375dd0f5670510ac997d81372cc57469152241e96236290.png" blurdataurl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAdCAIAAABE/PnQAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFp0lEQVR4nJ1W6Y7kSBGOch2+yk7bmXZedrl8VJWPOrq6qrt3p3t7lplhAM0OwyK0IF4AAUKIAcSiESt+wUPxg4eAV4G/hdJVM9ta5miQPqUiwpnxhSMywoaA7Nvie035XcYumXvzafq7J7M/zNALaT+J0bd5+JiYV2i0dfsbNNp6+vkR37B06plSR+fcv8bWXoTXMrixrRUMgyIqVrTY2kUVsWUY7XxvE9JNkl66/kJ38oGR6s40nKwtlA/0ZGhMhnqCwnkgWsPNlGpMbDcncmn5xdCYjKyU8KXId4gsBk4O4DKYxSA5BCF4IYw9MMZ2nPKzJUQUTA9sHwj1m7ofMSU7AdiBLhM0nw24OFp6hKHZzJpm4BIwvSCf0aJSj1wBgCXkHGikVhbBlINg/YcV/erW+NFFSDYoqsDAMPDADMDGCiZWliFSqx0qmBiGAegYrBBQBIVQriYCSAwajpPljs9aVq9o2chmg5IC/LBHBWAKLushCk53zInAjZTsdsJRPlIe8UZFEbghOBhcCT0vJlUdLVpa1FFR0bKhReWlM1a2cb1m85bNGrFYiWotqjWrVqxseLVi8zZutzpNvn6tuzBfr64EQEKTiSHTHmbHuHqIah4b82ws8iGRGuYjLAaEj9nUoKkRp0OWaJjrRKr9/+39LhSBI4rl/vz2MZ+1KhwzACPoe+yjJ8+ajz8xWAo6OhkJN/hE/PVJ8Jsb0Lud7/d+InAFyRdJcx6WtS1SlUcn0DCbtDtRrYN8MSBCFdMMDJbiorLjrE+4yvIHvb8hGIssyOcoKUc0VlcCAjDDEc9QUlgyH/EJeBRQNKJxVNReUlpsoipvvs61gdX9eQ+B2u2Gmkc7k98+4rsbf3s2ggEGQKAF3QYKdgC21+0hql1sD3gEKICMQxV3T99BAKbf6UEXkf/Fr16cv/ys/clzmHH88lq7nQMKgZCBX7TtZnlraV4IDgFMe7sCCAXSCZJ3bfFWgjfkKASwvV8+enb46tnht9/6189/cHj1/PD7R//+xeU/f2zVV0+fPvv0M92OY71MzTK1pDQibmJmCgGUvqXsJ4K7vWPjy3/87PPDX54f/vj54dX3D1++UMKfnx5+DVlsX8npHvUmEawSlRaMT/B9QOSdKdIwG0ZyGMkRFkORDK+b/nWtKVTaJ7V2o+TexaJLFAdHAGbd4a6TPdojrLt77y6yFiU4r/msFdWZmC0NfwIj6oaZSFsxqZlc+FEBOh1h0SfcpLHBpnfm0nsb4pQiwwXd1TAbRapFB5EYssSSucEnKCv7RMA4ULPlWCrVdH7n179XH/RUo1XRbCmanSVyjYg+kX0iAfOemhAS1B09lqebZU4ImGtEDKOuK+/TaPOPH65uv1NdPxoXy74oNF7oySJsdqTejvMGyOQIc1q5xdKczp2idYpWj+eK+/0Do5tFvI84E+U4TAEx1VCIAY55tWWLM10USvU4IOblTb574Od1jyTgSWV37jHsel7sTAt7WrrFwisrNVOPddNsBeNOgLoLmgUDVxnvM+lOb4AkLWvZbnFZWyJTxTQDzWOsbEi+0DA/+TIDW2RhXrtxMYzkh7N/twZJvWk/umVlo451k7mH6Nnt4/nFtcmnYHTjWkd+Ol8+eJg052q+3sf7GwJc1HG7l81O1FvZ7JLlftLu09VF3Oyy9WW+ucrWF/nZVbq6kO0OF/WHvzPfIBjy2EzSkUwGPB7y2JATK07HSWbGUyfJnThz4syNCzcubJGrtrhnfl4TUNjQ3or5lQx2hX89s/ZTmCOYe7DwYOFA40Liqr8KHZ2+bvf0fiKwmPlFGX25j149sH7a9BuibSmsQ1iFsI5g7cPOg8IHI+wCv3fsXxMMIvqni/Xff7j62wv8cgNsAIUJmQW5qZDZak2Ogf+vOP54eQkYDHSqYFMg4i3wpIrl/4CX/Ac+lt7+HY/byQAAAABJRU5ErkJggg==" nextheight="1367" nextwidth="1508" class="image-node embed"><figcaption htmlattributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>&nbsp;The V4Utils contracts have been <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/peckshield/publications/tree/master/audit_reports/PeckShield-Audit-Report-Revert-v4Utils-v1.0.pdf"><strong>audited by Peckshield</strong></a>.</p><p> Contract addresses:</p><ul><li><p><strong>V4Utils address Ethereum Mainnet</strong>: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0xe162e02ed718f94ac70336fba69ff86f2918436d">0xE162E02eD718F94ac70336fBA69Ff86F2918436d</a></p></li><li><p><strong>V4Utils address Unichain</strong>: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://uniscan.xyz/address/0x84b41aea9fe0d7a840d699d840c5fd78f20efe65">0x84b41aea9fe0d7a840d699d840c5fd78f20efe65</a></p></li></ul><p><strong>Support for other Ethereum L2s coming soon.</strong><br><strong>Support for hooks, if you are a hook developer, please reach out.</strong></p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/9f5f243c42087962342e5acbcf2eb0de3a86063cfe9355cf11f9d3d839a2e56a.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Revert Lend is Live on Ethereum Mainnet
]]></title>
            <link>https://paragraph.com/@revertfinance/revert-lend-is-live-on-ethereum-mainnet</link>
            <guid>pY6euiNU4rtoMeSsDYMI</guid>
            <pubDate>Wed, 23 Jul 2025 21:14:14 GMT</pubDate>
            <description><![CDATA[Revert Lend on Ethereum MainnetWe’re excited to announce the launch of Revert Lend on Ethereum Mainnet. With this launch, Ethereum users can now supply collateral and borrow against their Uniswap V3 LP positions — unlocking capital efficiency and enabling leveraged strategies or external liquidity use. Supported collateral assets and factors on Mainnet: • USDC — 80.75% collateral factor • USDT — 80.75% • WETH — 73.63% • WBTC — 73.63% Revert Lend allows LPs to borrow against their positions, e...]]></description>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c2b8dc06e9c2497101e8080b624c6d59265de945913bf0aba7a9a399b30a2b74.png" alt="Revert Lend on Ethereum Mainnet" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Revert Lend on Ethereum Mainnet</figcaption></figure><p>We’re excited to announce the launch of <strong>Revert Lend on Ethereum Mainnet</strong>.</p><p>With this launch, Ethereum users can now supply collateral and borrow against their <strong>Uniswap V3 LP positions</strong> — unlocking capital efficiency and enabling leveraged strategies or external liquidity use.</p><p><strong>Supported collateral assets and factors on Mainnet:</strong></p><p>• <strong>USDC</strong> — 80.75% collateral factor</p><p>• <strong>USDT</strong> — 80.75%</p><p>• <strong>WETH</strong> — 73.63%</p><p>• <strong>WBTC</strong> — 73.63%</p><p>Revert Lend allows LPs to borrow against their positions, either to <strong>leverage up</strong> or to <strong>extract capital</strong>. Supported positions include pairs like <strong>WETH/USDC</strong>, <strong>WETH/USDT</strong>, and <strong>WBTC/ETH</strong> across all UniV3 fee tiers.</p><p><strong>Key Contracts</strong></p><ul><li><p><strong>LeverageTransformer</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0xbAEA7f73569456096fCf38AE34242c52CA227b1e#code">0xbAEA7f73569456096fCf38AE34242c52CA227b1e</a></p></li><li><p><strong>FlashloanLiquidator</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0xa44080F20464de260e25F35A69d6BDa50f2cc79D#code">0xa44080F20464de260e25F35A69d6BDa50f2cc79D</a></p></li><li><p><strong>V3Vault</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0xa2754543f69dC036764bBfad16d2A74F5cD15667#code">0xa2754543f69dC036764bBfad16d2A74F5cD15667</a></p></li><li><p><strong>V3Oracle</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0xe0151d335A6C4AB0600Ae4000a9CAAf7b236072f#code">0xe0151d335A6C4AB0600Ae4000a9CAAf7b236072f</a></p></li><li><p><strong>InterestRateModel</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0xb50daFe03fEe68595Ab2bAaD3c16F899421F063B#code">0xb50daFe03fEe68595Ab2bAaD3c16F899421F063B</a></p></li></ul><p><strong>Start lending now:</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/lending">https://revert.finance/#/lending</a></p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[Revert Lend is Live on Base
]]></title>
            <link>https://paragraph.com/@revertfinance/revert-lend-is-live-on-base</link>
            <guid>yiZD6GwCRGngbmfB5czq</guid>
            <pubDate>Mon, 07 Jul 2025 22:06:04 GMT</pubDate>
            <description><![CDATA[We’re excited to announce the launch of Revert Lend on Base 🟦 You can now supply WETH (77.5%), USDC (85%), or cbBTC (77.5%) as collateral to borrow against your Uniswap V3 LP positions on Base. Use the borrowed funds to leverage up your LPs or deploy capital elsewhere. Revert Lend has already become the largest holder of Uniswap V3 liquidity on Arbitrum. Now we’re bringing the same power to Base. To bootstrap lending, Revert Points will be distributed to USDC lenders on Base. Full details to...]]></description>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4604bc8aa3498d962740f864a5992843bcd271344a7f8dcb893c39ce1f3c0e91.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>We’re excited to announce the launch of <strong>Revert Lend on Base</strong> 🟦</p><p>You can now supply <strong>WETH (77.5%)</strong>, <strong>USDC (85%)</strong>, or <strong>cbBTC (77.5%)</strong> as collateral to borrow against your <strong>Uniswap V3 LP positions</strong> on Base. Use the borrowed funds to <strong>leverage up your LPs</strong> or deploy capital elsewhere.</p><p>Revert Lend has already become the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/revertfinance/status/1934676545291079792">largest holder of Uniswap V3 liquidity on Arbitrum</a>. Now we’re bringing the same power to Base.</p><p>To bootstrap lending, <strong>Revert Points will be distributed to USDC lenders</strong> on Base. Full details to be announced shortly.</p><ul><li><p><strong>Start lending:</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/lending">revert.finance/#/lending</a></p></li><li><p><strong>Docs:</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.revert.finance/revert/revert-lend">docs.revert.finance</a></p></li><li><p><strong>Vault address:</strong> 0x36aeae0e411a1e28372e0d66f02e57744ebe7599</p></li><li><p><strong>Liquidator repo:</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/revert-finance/liquidator-js">github.com/revert-finance/liquidator-js</a></p></li></ul>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[Run your own Revert Lend liquidation bot]]></title>
            <link>https://paragraph.com/@revertfinance/run-your-own-revert-lend-liquidation-bot</link>
            <guid>JoOCi4yEJeC1eXehY2ww</guid>
            <pubDate>Mon, 14 Oct 2024 21:40:42 GMT</pubDate>
            <description><![CDATA[We are pleased to publish an open-sourced liquidation bot for Revert Lend. This reference implementation is available for the community to use, modify, and improve. Our goal is to enhance decentralization and strengthen the resilience of the Revert Lend protocol by encouraging broader participation in liquidation activities. Repository: https://github.com/revert-finance/liquidator-js While we will continue to operate our own liquidation bots as a backstop, we believe that a decentralized netw...]]></description>
            <content:encoded><![CDATA[<p>We are pleased to publish an open-sourced liquidation bot for Revert Lend. This reference implementation is available for the community to use, modify, and improve. Our goal is to enhance decentralization and strengthen the resilience of the Revert Lend protocol by encouraging broader participation in liquidation activities.</p><p><strong>Repository:</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/revert-finance/liquidator-js">https://github.com/revert-finance/liquidator-js</a></p><p>While we will continue to operate our own liquidation bots as a backstop, we believe that a decentralized network of operators is vital for the health and robustness of the DeFi ecosystem. By open-sourcing our bot, we aim to provide a reference implementation that others can build upon.</p><p>Liquidation fees on Revert Lend range between 2% and 8%, offering an incentive for participants who help maintain the protocol’s stability.</p><p><strong>About the Bot</strong></p><p>This bot is designed to monitor active positions on the Revert Lend protocol and execute liquidations when certain conditions are met. It employs a combination of real-time event monitoring and periodic checks to stay updated on the state of positions and market conditions.</p><p><strong>Key Features:</strong></p><p>• <strong>WebSocket Monitoring:</strong> Listens to real-time events from the Revert Lend contracts to update positions as they change.</p><p>• <strong>Periodic Position Checks:</strong> Regularly scans all positions to ensure no liquidation opportunities are missed.</p><p>• <strong>Flashloan Liquidations:</strong> Executes liquidations using flashloans, requiring no upfront capital in the asset being liquidated.</p><p>• <strong>Optional Non-Flashloan Liquidations:</strong> Supports liquidations without flashloans if the operator holds the necessary assets and has approved the V3Vault contract.</p><p>We invite everyone interested to join us in strengthening the <strong>Revert Lend</strong> ecosystem. By running your own liquidation bot, you not only contribute to the stability and decentralization of the protocol but also have the opportunity to earn liquidation fees ranging from 2% to 8%. Whether you’re a developer looking to dive into the code or an operator ready to set up your own bot, your participation is valuable.</p><p>Together, we can build a more resilient and robust DeFi environment. If you have any questions or need assistance getting started, feel free to reach out to our team or open an issue on the repository. Let’s collaborate to enhance the security and decentralization of Revert Lend.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[Why the future needs AMMs]]></title>
            <link>https://paragraph.com/@revertfinance/why-the-future-needs-amms</link>
            <guid>I7LucAcM4OPBHfh4cbYx</guid>
            <pubDate>Wed, 21 Feb 2024 23:40:02 GMT</pubDate>
            <description><![CDATA[The future demands a hyper-financialized world where decentralized markets trade a plethora of crypto tokens. These tokens represent everything from fractionalized art and real-state rights, to a myriad of fully digital assets, from in-game virtual currencies to shares in the profits of an actually decentralized, actually autonomous, organization. The only way we are getting there is if markets can be spun up as easily as we create the tokens themselves. If we have to engage with some trading...]]></description>
            <content:encoded><![CDATA[<p>The future demands a hyper-financialized world where decentralized markets trade a plethora of crypto tokens. These tokens represent everything from fractionalized art and real-state rights, to a myriad of fully digital assets, from in-game virtual currencies to shares in the profits of an actually decentralized, actually autonomous, organization. The only way we are getting there is if markets can be spun up as easily as we create the tokens themselves. If we have to engage with some trading firm every time we want to make a market for fractionalized royalties of some new VR experience, then that market will probably never exist.</p><h3 id="h-worse-is-better" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Worse is better</h3><p>AMMs could be worse than centralized limit order books markets in any capacity you wanted to measure, and they would still win because they enable the instant, frictionless creation of markets by anyone just holding some amount of assets.</p><p>No sophisticated HFT systems need to be spun up. No special SLAs have to be drafted and signed. Instead, AMMs offer fair, algorithmically determined prices that directly respond to market demand.</p><h3 id="h-rfqs-are-just-binance-in-the-end" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">RFQs are just Binance in the end</h3><p>Some folks will try to tell you that RFQ systems have a place in this future, and maybe they do, but today most of the quotes on RFQs are arbitraging prices between centralized exchanges (CEXes) and the slippage limit of your on-chain order. They are, in large part, an intermediary between an on-chain swapper and liquidity or expected volume at some centralized exchange. I’m not trying to be critical; they provide a valuable service to traders when they can provide a better price than what is otherwise available on-chain. However, a centrally operated trading system will not get us to the future we are heading for.</p><p>If we compare today the liquidity sources where most of the trades happening over the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://explorer.0xprotocol.org/liquiditySources">0x protocol</a> end up, we can see that AMMs account for around 70% of the volume versus 30% for RFQs. If you account for the fact that RFQ systems existed on-chain well before Uniswap v1, you can understand where the trend is going.</p><p>And all of this is just getting started. A vast majority of today&apos;s crypto assets remain outside the decentralized finance ecosystem, often stored on centralized exchanges or, at best, in cold wallets, not leveraging the potential of permissionless innovation in non-custodial financial services. What do you think AMMs look like when there is 1T in assets in DeFi protocols? What about 10T? You are not sufficiently excited about AMMs.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[Introducing Auto-Exit and Auto-Range
]]></title>
            <link>https://paragraph.com/@revertfinance/introducing-auto-exit-and-auto-range</link>
            <guid>XAFNswHVTnNNb08ML6c8</guid>
            <pubDate>Tue, 25 Jul 2023 18:05:03 GMT</pubDate>
            <description><![CDATA[Hello LPs! We are thrilled to introduce two transformative features to the Revert toolkit, enhancing your LP experience on Uniswap v3: Auto-Exit and Auto-Range. These features have been meticulously crafted to streamline your liquidity provision and protect your investments. Firstly, let&apos;s explore Auto-Exit.Auto-Exit configuration panelAs a Uniswap v3 liquidity provider (LP), have you ever wished you could automate your liquidity withdrawal when the price hits a certain value? With Auto-...]]></description>
            <content:encoded><![CDATA[<p>Hello LPs! We are thrilled to introduce two transformative features to the Revert toolkit, enhancing your LP experience on Uniswap v3: Auto-Exit and Auto-Range. These features have been meticulously crafted to streamline your liquidity provision and protect your investments.</p><p>Firstly, let&apos;s explore Auto-Exit.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/965460959df1c511f36b2b65a2b718bdc862757eac3d9191501cd2496902b207.png" alt="Auto-Exit configuration panel" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Auto-Exit configuration panel</figcaption></figure><p>As a Uniswap v3 liquidity provider (LP), have you ever wished you could automate your liquidity withdrawal when the price hits a certain value? With Auto-Exit, this is now possible. Auto-Exit lets you pre-configure a position so that the liquidity is automatically withdrawn when the pool price reaches a predetermined value. Moreover, you can optionally configure the system to swap from one token to the other on withdrawal, providing a safety net for your investments akin to a stop-loss order.</p><p>Next up is Auto-Range.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/633b6f20d0124b0d0294866a52add39efa46bdda160fc83a5a0a4900d3cd2dec.png" alt="Auto-Range configuration panel" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Auto-Range configuration panel</figcaption></figure><p>Auto-Range automates the process of rebalancing your liquidity positions. When the token price moves and your position goes out-of-range by your selected percentage, Auto-Range springs into action. The system then automatically rebalances your position, by withdrawing the liquidity and recreating it with the same range width but centered around the current price, ensuring your liquidity stays in-range and collecting fees always.</p><p>Tracking PnL across rebalanced positions can be tricky, and of course it’s important to remember that, depending on your investment strategy, divergence loss is a crucial part of the PnL equation. Measuring each rebalanced position separately might be deceptive with regard to the actual divergence loss that becomes permanent on each rebalance operation. Taking this into account, coming very soon, your Revert dashboard will aggregate auto-range positions into one, providing you proper analytics for these multi-position strategies.</p><p><strong>How do automated actions work</strong></p><p>To activate the automated actions LPs authorize the Auto-Exit or Auto-Range contracts to act as an Operator for their positions.  Upon this authorization, Revert bots start monitoring the activated position. These bots execute the prescribed operations - withdrawal of liquidity or rebalancing - when the predefined conditions are met.</p><p>To support the automation, a fee of 0.25% of the position value is levied for each operation executed by the bots. However, it is crucial to note that if the gas cost for an operation exceeds this fee, the bots will not perform the operation. The UI will display a message indicating if the position is close to the lower limit threshold given the current gas costs.</p><p>The security of these operations is of utmost importance, and we have taken rigorous measures to ensure the reliability of our new offerings. Both the Auto-Exit and Auto-Range contracts have undergone rigorous auditing by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://hydnsec.com/">Hydn</a>, with an audit report that can be read <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/hydnsec/audits/blob/main/Revert%20Finance%20-%20Exit%20Auto%20%20%26%20Move%20Range/Revert_Finance_Audit_Report_%20Auto-Exit_Auto-Move_Range.pdf">here</a>.</p><p>We anticipate that these innovative additions to the Revert toolkit will greatly benefit LPs by providing advanced automation and risk management capabilities. Give them a try from your <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance">position dashboard</a>.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[Evmos Blast Off: Milestones in Our Cosmic Journey
]]></title>
            <link>https://paragraph.com/@revertfinance/evmos-blast-off-milestones-in-our-cosmic-journey</link>
            <guid>bEffEzepiMea4BBX9Dya</guid>
            <pubDate>Fri, 12 May 2023 16:26:37 GMT</pubDate>
            <description><![CDATA[Evmos, a proof-of-stake blockchain built on the Cosmos SDK, offers full Ethereum compatibility. Within this ecosystem, Forge, a CLMM DEX forked from Uniswap v3, recently launched on Evmos. This followed the Evmos DAO&apos;s approval of a grant proposal for Revert&apos;s integration with Forge. In the context of our roadmap with the awarded grant for the Forge integration, we&apos;re excited to share that we&apos;ve managed to complete the first three milestones of our plan. These achievements...]]></description>
            <content:encoded><![CDATA[<p>Evmos, a proof-of-stake blockchain built on the Cosmos SDK, offers full Ethereum compatibility. Within this ecosystem, Forge, a CLMM DEX forked from Uniswap v3, recently launched on Evmos. This followed the Evmos DAO&apos;s approval of a grant proposal for Revert&apos;s integration with Forge.</p><p>In the context of our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.mintscan.io/evmos/proposals/143">roadmap with the awarded grant</a> for the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forge.trade/">Forge</a> integration, we&apos;re excited to share that we&apos;ve managed to complete the first three milestones of our plan. These achievements highlight our commitment to providing enhanced tools, services, and integration to the EVMOS/Forge community as described below.</p><h2 id="h-milestone-1-liquidity-incentives-tools" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Milestone 1: Liquidity Incentives Tools</h2><p>Our first milestone was centered around the deployment of liquidity incentive tools. We successfully launched the vested <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://escan.live/address/0x3eb0fffa1470cdd3725b9eb29aded2736144b078">v3 staker contract</a> on EVMOS. This advancement allows anyone to stake positions and create incentive programs for Forge pools, boosting community engagement and increasing liquidity.</p><p>The vested v3 staker <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://v3staker.revert.finance/#/running-incentives/evmos">frontend</a>, another part of this milestone, is now operational. This user-friendly interface makes it easier for anyone to permissionlessly <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://v3staker.revert.finance/#/create-incentive">create incentives programs</a> for Forge pools, and for LPs to stake their positions and be awarded rewards in the respective liquidity incentives program.</p><p>The completion of this milestone holds particular significance due to the impending launch of an <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="">incentives program</a>, aptly codenamed &apos;Inferno&apos;, on Forge. This strategic initiative is designed to attract liquidity, offering potentially lucrative opportunities for Liquidity Providers (LPs) in this emergent exchange.</p><h2 id="h-milestone-2-analytics-and-top-positions-indexing" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Milestone 2: Analytics and Top Positions Indexing</h2><p>Next, we focused on giving liquidity providers (LPs) the tools needed to track their investments efficiently. We have launched Forge analytics <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/forgeDEX/status/1656738185878339585?s=20">for existing positions</a>, providing LPs with <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/forge-position/evmos/973">real-time data</a> on profit and loss, annual percentage rate, fees, and more. This information empowers Forge LPs to make informed decisions about their investments.</p><p>Moreover, we introduced indexing of <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/top-positions/evmos">top positions</a>. This feature allows users to browse and explore the catalog of existing positions across Forge pools. We believe this will be an invaluable tool for those interested in understanding market trends and gaining insights from top performers.</p><h2 id="h-milestone-3-position-management-and-auto-compounder" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Milestone 3: Position Management and Auto-compounder</h2><p>In our third milestone, we have rolled out advanced features for position management. The introduction of an <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/initiator?fee&amp;network=evmos&amp;token0&amp;token1">initiator/backtester for Forge</a> pools allows users to backtest and create new positions using the revert interface. This tool is crucial for strategic decision-making, enabling users to gauge potential outcomes before making a move.</p><p>We also launched the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://escan.live/address/0x769249dce2065e677699a94b9c0bb46f079a90ac">v3utils contract</a> and frontend, offering utilities for LPs such as swap and mint, moving ranges, and more. These tools further simplify the position management process.</p><p>Our auto-compounder contract and protocol, including auto-compounding bots, were also successfully deployed and are currently running. This feature helps LPs optimize their APYs by automatically reinvesting their fees at the optimal times..</p><h2 id="h-milestone-4-keplr-integration-pending" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Milestone 4: Keplr Integration (Pending)</h2><p>Our final milestone, the integration with Keplr wallet, is still in progress. This integration is anticipated to expand the accessibility of our platform, offering users a secure, user-friendly, and versatile wallet for managing their assets.</p><p>We understand the importance of this integration and will be working with the Forge team to make it happen. We aim to complete this milestone within the next four months.</p><p>We&apos;re proud of the strides we&apos;ve made over the last few weeks and are excited for what&apos;s still to come. We remain committed to our roadmap and will continue to strive to provide our community with the best tools and services possible.</p><p>Stay tuned for more updates as we progress toward our final milestone. As always, we appreciate your support and patience as we continue to improve and expand our platform.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[V3Utils is back!]]></title>
            <link>https://paragraph.com/@revertfinance/v3utils-is-back</link>
            <guid>a5WoH9EInIKi1oPMzIby</guid>
            <pubDate>Tue, 21 Mar 2023 22:25:19 GMT</pubDate>
            <description><![CDATA[We are delighted to announce that our V3Utils contract has undergone a comprehensive audit by Peckshield, resulting in its redeployment with enhanced security measures. The audit successfully identified and addressed two low-severity issues and one informational issue. For those who are interested, the full audit report is available here. Let’s do a quick review of the functionality provided by the V3Utis contract that is now available on the app: Swap and Increase liquidity: Takes any amount...]]></description>
            <content:encoded><![CDATA[<p>We are delighted to announce that our V3Utils contract has undergone a comprehensive audit by Peckshield, resulting in its redeployment with enhanced security measures. The audit successfully identified and addressed two low-severity issues and one informational issue. For those who are interested, the full audit report is available <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/peckshield/publications/blob/master/audit_reports/PeckShield-Audit-Report-Revert-V3utils-v1.0.pdf">here</a>.</p><p>Let’s do a quick review of the functionality provided by the V3Utis contract that is now available on the app:</p><p><strong>Swap and Increase liquidity:</strong> Takes any amount of token0, token1, or a third arbitrary token and a Uniswap v3 position NFT. It will swap the tokens into the correct amounts according to parameters passed given the position range, pool price, 0x quotes, and max slippage parameters, perform any required swaps, add the swapped tokens into the Uniswap position and return the NFT to the user.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d6dca6bed705bd252a80533ead90f0cf38e70ffa35620e5688d5816614832cd0.webp" alt="Swap and Increase liquidity" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Swap and Increase liquidity</figcaption></figure><p><strong>Decrease liquidity and swap:</strong> Is the inverse operation, given a Uniswap position NFT and a desired output token, which does not require to be any of the underlying assets, it will decrease liquidity by the amount indicated by the user and perform the swap as defined by the 0x API, and max slippage parameters, and finally return to the calling user the output of the swap(s) as well as the position NFT. It can be performed by any amount of liquidity contained by the position.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/8fd27acdbc1c361421f36bb48f2a99716f2c5dd3356c2efcb9a1fc1b4e818ad0.webp" alt="Decrease liquidity and swap" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Decrease liquidity and swap</figcaption></figure><p><strong>Collect fees and swap:</strong> This one, similarly, allows users to collect any amount of uncollected fees on their Uniswap v3 position and atomically swap them into any token. Returning, at the end of the operation, the output of the swaps as well as position NFT with the underlying liquidity untouched.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a80fb0efae0fa7ef6478f0f0a02935b20ffd2d619c327174904a0c2a79f36b05.webp" alt="Collect fees and swap" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Collect fees and swap</figcaption></figure><p>Our team is dedicated to providing the best user experience, and we have responded to users&apos; requests by developing two additional functions.</p><p><strong>Swap and Mint:</strong> Similar to “Swap and increase liquidity”, it will take any amount of token0 and token1, or a third arbitrary token, and will perform the required swaps to create a position on the selected pool for a position range, it will then return the newly minted position to the user.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7cd9b9993223dd17e19c66349c9dbd23b5b42e1c990a43598d476efe6ab138fe.jpg" alt="Swap and Mint" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Swap and Mint</figcaption></figure><p><strong>Move range:</strong> Allows LPs to exit from an existing position into another position in the same pool by atomically withdrawing existing liquidity and uncollected fees, swapping the withdrawn tokens into the correct allocation given the newly selected range, depositing the tokens and minting a new position which is then sent back to the user.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1c6c99521d1b014348607283885b6fc84d82c5187627681e1445dbb4dbc4b13a.jpg" alt="Move Range" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Move Range</figcaption></figure><p>We are currently testing the integration of these new functionalities on the frontend, and they will be shipped soon. Stay tuned!</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[An attack on V3Utils]]></title>
            <link>https://paragraph.com/@revertfinance/an-attack-on-v3utils</link>
            <guid>qtS5NCgl0NbOOQHC8fMD</guid>
            <pubDate>Sun, 26 Feb 2023 15:06:22 GMT</pubDate>
            <description><![CDATA[TLDR: On February 18th 2023, a total of just under $30K USD was stolen from users of our recently released “Atomic swaps into V3 positions” feature implemented via our V3Utils contract. Immediately after being notified, we quickly updated the site to prevent other users from being exposed and diagnosed how the exploit took place. ALL AFFECTED USERS HAVE NOW BEEN RESTITUTED FULL TOKEN BALANCES VIA AIRDROPS FROM THE FOLLOWING ACCOUNT ON EACH RESPECTIVE NETWORK. Mainnet: https://etherscan.io/add...]]></description>
            <content:encoded><![CDATA[<p><strong>TLDR:</strong> On February 18th 2023, a total of just under $30K USD was stolen from users of our recently released “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/revertfinance.eth/WenyNv6UJkt8veWRZGBKetONP6tssMxbi5lh9J3zwYw">Atomic swaps into V3 positions</a>” feature implemented via our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://0x531110418d8591c92e9cbbfc722db8ffb604fafd">V3Utils</a> contract. Immediately after being notified, we quickly updated the site to prevent other users from being exposed and diagnosed how the exploit took place. <strong>ALL AFFECTED USERS HAVE NOW BEEN RESTITUTED FULL TOKEN BALANCES VIA AIRDROPS FROM THE FOLLOWING ACCOUNT ON EACH RESPECTIVE NETWORK.</strong></p><p>Mainnet: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0x94f9FBdf13f19C86D6d07ae500D10e199BC61c4A#tokentxns">https://etherscan.io/address/0x94f9FBdf13f19C86D6d07ae500D10e199BC61c4A#tokentxns</a></p><p>Optimism: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://optimistic.etherscan.io/address/0x94f9FBdf13f19C86D6d07ae500D10e199BC61c4A#tokentxns">https://optimistic.etherscan.io/address/0x94f9FBdf13f19C86D6d07ae500D10e199BC61c4A#tokentxns</a></p><p>Polygon: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygonscan.com/address/0x94f9fbdf13f19c86d6d07ae500d10e199bc61c4a#tokentxns">https://polygonscan.com/address/0x94f9fbdf13f19c86d6d07ae500d10e199bc61c4a#tokentxns</a></p><p>Arbitrum: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://arbiscan.io/address/0x94f9FBdf13f19C86D6d07ae500D10e199BC61c4A#tokentxns">https://arbiscan.io/address/0x94f9FBdf13f19C86D6d07ae500D10e199BC61c4A#tokentxns </a></p><p>This post aims to explain what happened, provide transparency into affected accounts, and to provide accountability - ensuring verifiable refunding for all affected users -, and an increased commitment of security over fast iteration in our operations and product releases.</p><h2 id="h-how-it-all-went-down" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How it all went down.</h2><p>At 2:56 AM CST on the eve of Saturday, February 18th, one of our users posted on our Discord server the following message:</p><p><em>“WARNING: I just had my polygon USDC stolen after approving it via revert&apos;s single token add liquidity feature. I have contacted one of the developers about it and waiting to hear back.”</em></p><p>About half an hour later another user posted a similar message. The whole team being in the same time zone (CST), this was not noticed until 6:46 AM when I woke up and reached for my phone. I alerted the team right away.</p><p>We immediately disabled the new “Atomic swap into Uniswap v3 positions” functionality from the site.  This feature had been released earlier in the week, and was what being reported as being used by the affected users. If this were an ongoing attack, disabling the Atomic Swap feature would prevent any new users from being harmed.</p><p>After disabling the Atomic Swap feature, we started investigating. Inspecting the transactions, it became evident that they did involve our V3Utils contract, and that there was an interaction with a suspicious, unverified, and recently deployed contract. We decided at this point it was best to alert all possible users who might have approved allowances for the exploited contract.  At 7:39 AM CST we posted a Tweet and a Discord message notifying all the members with the possible vulnerable contract addresses and urging everyone to revoke any approved balances.</p><div data-type="twitter" tweetId="1626939693643489282" tweetData="{&quot;__typename&quot;:&quot;Tweet&quot;,&quot;in_reply_to_screen_name&quot;:&quot;revertfinance&quot;,&quot;in_reply_to_status_id_str&quot;:&quot;1626939407126376448&quot;,&quot;in_reply_to_user_id_str&quot;:&quot;1351396188097040386&quot;,&quot;lang&quot;:&quot;ht&quot;,&quot;favorite_count&quot;:7,&quot;created_at&quot;:&quot;2023-02-18T13:40:24.000Z&quot;,&quot;display_text_range&quot;:[0,209],&quot;entities&quot;:{&quot;hashtags&quot;:[],&quot;urls&quot;:[],&quot;user_mentions&quot;:[],&quot;symbols&quot;:[]},&quot;id_str&quot;:&quot;1626939693643489282&quot;,&quot;text&quot;:&quot;mainnet: 0x531110418d8591c92e9cbbfc722db8ffb604fafd\npolygon: 0x8c925768c793e00c095135b8656d6014ee2d07bb\noptimism:\n0x2A017f2Fb369F4CA061B8D8A922Bb05100e8f8C3\narbitrum: 0x95a8cc9ab71b26bdacbe6a7ccf519456edc2a164&quot;,&quot;user&quot;:{&quot;id_str&quot;:&quot;1351396188097040386&quot;,&quot;name&quot;:&quot;revert&quot;,&quot;screen_name&quot;:&quot;revertfinance&quot;,&quot;is_blue_verified&quot;:true,&quot;profile_image_shape&quot;:&quot;Circle&quot;,&quot;verified&quot;:false,&quot;profile_image_url_https&quot;:&quot;https://storage.googleapis.com/papyrus_images/076f88dd904906e74a1cc09fecc9983342f196e3fc8f715283d9ce878da0a95f.png&quot;},&quot;edit_control&quot;:{&quot;edit_tweet_ids&quot;:[&quot;1626939693643489282&quot;],&quot;editable_until_msecs&quot;:&quot;1676729424000&quot;,&quot;is_edit_eligible&quot;:false,&quot;edits_remaining&quot;:&quot;5&quot;},&quot;conversation_count&quot;:1,&quot;news_action_type&quot;:&quot;conversation&quot;,&quot;parent&quot;:{&quot;lang&quot;:&quot;en&quot;,&quot;reply_count&quot;:4,&quot;retweet_count&quot;:36,&quot;favorite_count&quot;:63,&quot;possibly_sensitive&quot;:false,&quot;created_at&quot;:&quot;2023-02-18T13:39:16.000Z&quot;,&quot;display_text_range&quot;:[0,210],&quot;entities&quot;:{&quot;hashtags&quot;:[],&quot;urls&quot;:[{&quot;display_url&quot;:&quot;revoke.cash&quot;,&quot;expanded_url&quot;:&quot;https://revoke.cash/&quot;,&quot;indices&quot;:[162,185],&quot;url&quot;:&quot;https://t.co/oJrOO9zjUN&quot;}],&quot;user_mentions&quot;:[],&quot;symbols&quot;:[]},&quot;id_str&quot;:&quot;1626939407126376448&quot;,&quot;text&quot;:&quot;We have gotten reports from 2 users about an attack involving approvals to our v3utils contract. We are investigating and will report further.\nWe recommend using https://t.co/oJrOO9zjUN for following addresses:&quot;,&quot;user&quot;:{&quot;id_str&quot;:&quot;1351396188097040386&quot;,&quot;name&quot;:&quot;revert&quot;,&quot;screen_name&quot;:&quot;revertfinance&quot;,&quot;is_blue_verified&quot;:true,&quot;profile_image_shape&quot;:&quot;Circle&quot;,&quot;verified&quot;:false,&quot;profile_image_url_https&quot;:&quot;https://pbs.twimg.com/profile_images/1351400877295341571/fjCCya7g_normal.png&quot;},&quot;edit_control&quot;:{&quot;edit_tweet_ids&quot;:[&quot;1626939407126376448&quot;],&quot;editable_until_msecs&quot;:&quot;1676729356000&quot;,&quot;is_edit_eligible&quot;:false,&quot;edits_remaining&quot;:&quot;5&quot;},&quot;isEdited&quot;:false,&quot;isStaleEdit&quot;:false},&quot;isEdited&quot;:false,&quot;isStaleEdit&quot;:false}"> 
  <div class="twitter-embed embed">
    <div class="twitter-header">
        <div style="display:flex">
          <a target="_blank" href="https://twitter.com/revertfinance">
              <img alt="User Avatar" class="twitter-avatar" src="https://storage.googleapis.com/papyrus_images/076f88dd904906e74a1cc09fecc9983342f196e3fc8f715283d9ce878da0a95f.png" />
            </a>
            <div style="margin-left:4px;margin-right:auto;line-height:1.2;">
              <a target="_blank" href="https://twitter.com/revertfinance" class="twitter-displayname">revert</a>
              <p><a target="_blank" href="https://twitter.com/revertfinance" class="twitter-username">@revertfinance</a></p>
    
            </div>
            <a href="https://twitter.com/revertfinance/status/1626939693643489282" target="_blank">
              <img alt="Twitter Logo" class="twitter-logo" src="https://paragraph.com/editor/twitter/logo.png" />
            </a>
          </div>
        </div>
      
    <div class="twitter-body">
      mainnet: 0x531110418d8591c92e9cbbfc722db8ffb604fafd<br />polygon: 0x8c925768c793e00c095135b8656d6014ee2d07bb<br />optimism:<br />0x2A017f2Fb369F4CA061B8D8A922Bb05100e8f8C3<br />arbitrum: 0x95a8cc9ab71b26bdacbe6a7ccf519456edc2a164
      
      
       
    </div>
    
     <div class="twitter-footer">
          <a target="_blank" href="https://twitter.com/revertfinance/status/1626939693643489282" style="margin-right:16px; display:flex;">
            <img alt="Like Icon" class="twitter-heart" src="https://paragraph.com/editor/twitter/heart.png">
            7
          </a>
          <a target="_blank" href="https://twitter.com/revertfinance/status/1626939693643489282"><p>7:40 AM • Feb 18, 2023</p></a>
        </div>
    
  </div> 
  </div><p>As  part of the team focused on working with users to answer questions about the revoke process, the rest of the team worked to diagnose the exploit while also writing code to identify and mitigate any other accounts that  could be potentially be at risk (given previously authorized allowances).</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://tenderly.co/">Tenderly</a> proved to be an invaluable tool for understanding the exploit. Using Tenderly, our team was able to identify the attack vector:</p><ul><li><p>The V3Utils contract relies on an external aggregator to do the swaps. Our frontend calls this API with the tokens and amounts intended for swapping, and the API returns the swap parameters sent to the V3Utils contract.</p></li><li><p>There are two important values included in this API response, the contract which works as a router for the swaps, and the contract to approve the tokens for the actual swap. Because these values are dynamic and can be changed at any time with new versions of the aggregator, we had decided not to hard code them in our contracts which was designed to be ownerless and immutable.</p></li><li><p>By inspecting the reported transactions it became clear that the swapRouter parameter was used as the vector for attack. The swap function was called using a token contract (like USDC) as the router parameter, which allowed the attacker to execute arbitrary code against that contract with our own V3Utils as the caller.</p></li><li><p>This means that any previously authorized allowances to the V3Utils contract were vulnerable to being drained. Because our frontend only prompts for approval of the amounts to be used as deposits the remaining allowances mostly remain at zero and so not vulnerable. In some cases, however, accounts approved amounts larger than what was swapped leaving them open to be drained by these malicious transactions.</p></li></ul><p>At 8:46 AM, once we verified the exploit was tied to the V3Utils contract, we once again  pushed a notification to all Discord members -  explaining the diagnosis of the exploit and urging everyone again to check and revoke any allowances to the affected contracts.  We relayed the same information via our official Twitter and Telegram  accounts.</p><div data-type="twitter" tweetId="1626956900276510721" tweetData="{&quot;__typename&quot;:&quot;Tweet&quot;,&quot;lang&quot;:&quot;en&quot;,&quot;favorite_count&quot;:25,&quot;possibly_sensitive&quot;:false,&quot;created_at&quot;:&quot;2023-02-18T14:48:47.000Z&quot;,&quot;display_text_range&quot;:[0,175],&quot;entities&quot;:{&quot;hashtags&quot;:[],&quot;urls&quot;:[],&quot;user_mentions&quot;:[],&quot;symbols&quot;:[],&quot;media&quot;:[{&quot;display_url&quot;:&quot;pic.x.com/bZ8yMSKjea&quot;,&quot;expanded_url&quot;:&quot;https://x.com/revertfinance/status/1626956900276510721/photo/1&quot;,&quot;indices&quot;:[176,199],&quot;url&quot;:&quot;https://t.co/bZ8yMSKjea&quot;}]},&quot;id_str&quot;:&quot;1626956900276510721&quot;,&quot;text&quot;:&quot;We have confirmed that this was an exploit to our v3utils contract used in the new \&quot;atomic swap into v3 position\&quot; functionality. Here is an inital explanation of what happened https://t.co/bZ8yMSKjea&quot;,&quot;user&quot;:{&quot;id_str&quot;:&quot;1351396188097040386&quot;,&quot;name&quot;:&quot;revert&quot;,&quot;screen_name&quot;:&quot;revertfinance&quot;,&quot;is_blue_verified&quot;:true,&quot;profile_image_shape&quot;:&quot;Circle&quot;,&quot;verified&quot;:false,&quot;profile_image_url_https&quot;:&quot;https://storage.googleapis.com/papyrus_images/076f88dd904906e74a1cc09fecc9983342f196e3fc8f715283d9ce878da0a95f.png&quot;},&quot;edit_control&quot;:{&quot;edit_tweet_ids&quot;:[&quot;1626956900276510721&quot;],&quot;editable_until_msecs&quot;:&quot;1676733527000&quot;,&quot;is_edit_eligible&quot;:true,&quot;edits_remaining&quot;:&quot;5&quot;},&quot;mediaDetails&quot;:[{&quot;display_url&quot;:&quot;pic.x.com/bZ8yMSKjea&quot;,&quot;expanded_url&quot;:&quot;https://x.com/revertfinance/status/1626956900276510721/photo/1&quot;,&quot;ext_media_availability&quot;:{&quot;status&quot;:&quot;Available&quot;},&quot;indices&quot;:[176,199],&quot;media_url_https&quot;:&quot;https://pbs.twimg.com/media/FpQci59aIAEj5tK.png&quot;,&quot;original_info&quot;:{&quot;height&quot;:394,&quot;width&quot;:881,&quot;focus_rects&quot;:[{&quot;x&quot;:0,&quot;y&quot;:0,&quot;w&quot;:704,&quot;h&quot;:394},{&quot;x&quot;:0,&quot;y&quot;:0,&quot;w&quot;:394,&quot;h&quot;:394},{&quot;x&quot;:0,&quot;y&quot;:0,&quot;w&quot;:346,&quot;h&quot;:394},{&quot;x&quot;:12,&quot;y&quot;:0,&quot;w&quot;:197,&quot;h&quot;:394},{&quot;x&quot;:0,&quot;y&quot;:0,&quot;w&quot;:881,&quot;h&quot;:394}]},&quot;sizes&quot;:{&quot;large&quot;:{&quot;h&quot;:394,&quot;resize&quot;:&quot;fit&quot;,&quot;w&quot;:881},&quot;medium&quot;:{&quot;h&quot;:394,&quot;resize&quot;:&quot;fit&quot;,&quot;w&quot;:881},&quot;small&quot;:{&quot;h&quot;:304,&quot;resize&quot;:&quot;fit&quot;,&quot;w&quot;:680},&quot;thumb&quot;:{&quot;h&quot;:150,&quot;resize&quot;:&quot;crop&quot;,&quot;w&quot;:150}},&quot;type&quot;:&quot;photo&quot;,&quot;url&quot;:&quot;https://t.co/bZ8yMSKjea&quot;}],&quot;photos&quot;:[{&quot;backgroundColor&quot;:{&quot;red&quot;:204,&quot;green&quot;:214,&quot;blue&quot;:221},&quot;cropCandidates&quot;:[{&quot;x&quot;:0,&quot;y&quot;:0,&quot;w&quot;:704,&quot;h&quot;:394},{&quot;x&quot;:0,&quot;y&quot;:0,&quot;w&quot;:394,&quot;h&quot;:394},{&quot;x&quot;:0,&quot;y&quot;:0,&quot;w&quot;:346,&quot;h&quot;:394},{&quot;x&quot;:12,&quot;y&quot;:0,&quot;w&quot;:197,&quot;h&quot;:394},{&quot;x&quot;:0,&quot;y&quot;:0,&quot;w&quot;:881,&quot;h&quot;:394}],&quot;expandedUrl&quot;:&quot;https://x.com/revertfinance/status/1626956900276510721/photo/1&quot;,&quot;url&quot;:&quot;https://storage.googleapis.com/papyrus_images/3c893c6ae315e49e3345610db9b97a344a0065987f98c16360630a91b4681224.png&quot;,&quot;width&quot;:881,&quot;height&quot;:394}],&quot;conversation_count&quot;:0,&quot;news_action_type&quot;:&quot;conversation&quot;,&quot;quoted_tweet&quot;:{&quot;lang&quot;:&quot;en&quot;,&quot;reply_count&quot;:4,&quot;retweet_count&quot;:36,&quot;favorite_count&quot;:63,&quot;possibly_sensitive&quot;:false,&quot;created_at&quot;:&quot;2023-02-18T13:39:16.000Z&quot;,&quot;display_text_range&quot;:[0,210],&quot;entities&quot;:{&quot;hashtags&quot;:[],&quot;urls&quot;:[{&quot;display_url&quot;:&quot;revoke.cash&quot;,&quot;expanded_url&quot;:&quot;https://revoke.cash/&quot;,&quot;indices&quot;:[162,185],&quot;url&quot;:&quot;https://t.co/oJrOO9zjUN&quot;}],&quot;user_mentions&quot;:[],&quot;symbols&quot;:[]},&quot;id_str&quot;:&quot;1626939407126376448&quot;,&quot;text&quot;:&quot;We have gotten reports from 2 users about an attack involving approvals to our v3utils contract. We are investigating and will report further.\nWe recommend using https://t.co/oJrOO9zjUN for following addresses:&quot;,&quot;user&quot;:{&quot;id_str&quot;:&quot;1351396188097040386&quot;,&quot;name&quot;:&quot;revert&quot;,&quot;screen_name&quot;:&quot;revertfinance&quot;,&quot;is_blue_verified&quot;:true,&quot;profile_image_shape&quot;:&quot;Circle&quot;,&quot;verified&quot;:false,&quot;profile_image_url_https&quot;:&quot;https://storage.googleapis.com/papyrus_images/076f88dd904906e74a1cc09fecc9983342f196e3fc8f715283d9ce878da0a95f.png&quot;},&quot;edit_control&quot;:{&quot;edit_tweet_ids&quot;:[&quot;1626939407126376448&quot;],&quot;editable_until_msecs&quot;:&quot;1676729356000&quot;,&quot;is_edit_eligible&quot;:false,&quot;edits_remaining&quot;:&quot;5&quot;},&quot;isEdited&quot;:false,&quot;isStaleEdit&quot;:false},&quot;isEdited&quot;:false,&quot;isStaleEdit&quot;:false}"> 
  <div class="twitter-embed embed">
    <div class="twitter-header">
        <div style="display:flex">
          <a target="_blank" href="https://twitter.com/revertfinance">
              <img alt="User Avatar" class="twitter-avatar" src="https://storage.googleapis.com/papyrus_images/076f88dd904906e74a1cc09fecc9983342f196e3fc8f715283d9ce878da0a95f.png" />
            </a>
            <div style="margin-left:4px;margin-right:auto;line-height:1.2;">
              <a target="_blank" href="https://twitter.com/revertfinance" class="twitter-displayname">revert</a>
              <p><a target="_blank" href="https://twitter.com/revertfinance" class="twitter-username">@revertfinance</a></p>
    
            </div>
            <a href="https://twitter.com/revertfinance/status/1626956900276510721" target="_blank">
              <img alt="Twitter Logo" class="twitter-logo" src="https://paragraph.com/editor/twitter/logo.png" />
            </a>
          </div>
        </div>
      
    <div class="twitter-body">
      We have confirmed that this was an exploit to our v3utils contract used in the new "atomic swap into v3 position" functionality. Here is an inital explanation of what happened 
      <div class="twitter-media"><img class="twitter-image" src="https://storage.googleapis.com/papyrus_images/3c893c6ae315e49e3345610db9b97a344a0065987f98c16360630a91b4681224.png" /></div>
      
      <div class="twitter-quoted">
        
  <div class="twitter-quoted twitter-embed">
    <div class="twitter-header">
        <div style="display:flex">
          <a target="_blank" href="https://twitter.com/revertfinance">
              <img alt="User Avatar" class="twitter-avatar" src="https://storage.googleapis.com/papyrus_images/076f88dd904906e74a1cc09fecc9983342f196e3fc8f715283d9ce878da0a95f.png" />
            </a>
            <div style="margin-left:4px;margin-right:auto;line-height:1.2;">
              <a target="_blank" href="https://twitter.com/revertfinance" class="twitter-displayname">revert</a>
              <p><a target="_blank" href="https://twitter.com/revertfinance" class="twitter-username">@revertfinance</a></p>
    
            </div>
            <a href="https://twitter.com/revertfinance/status/1626939407126376448" target="_blank">
              <img alt="Twitter Logo" class="twitter-logo" src="https://paragraph.com/editor/twitter/logo.png" />
            </a>
          </div>
        </div>
      
    <div class="twitter-body">
      We have gotten reports from 2 users about an attack involving approvals to our v3utils contract. We are investigating and will report further.<br />We recommend using <a class="twitter-content-link" href="https://t.co/oJrOO9zjUN" target="_blank">revoke.cash</a> for following addresses:
      
      
       
    </div>
    
  </div> 
  
    </div> 
    </div>
    
     <div class="twitter-footer">
          <a target="_blank" href="https://twitter.com/revertfinance/status/1626956900276510721" style="margin-right:16px; display:flex;">
            <img alt="Like Icon" class="twitter-heart" src="https://paragraph.com/editor/twitter/heart.png">
            25
          </a>
          <a target="_blank" href="https://twitter.com/revertfinance/status/1626956900276510721"><p>8:48 AM • Feb 18, 2023</p></a>
        </div>
    
  </div> 
  </div><p>At that point we had tallied up that there were allowances for the V3Utils contract the low hundreds of thousands of dollars. We urged everyone to echo our information on all channels possible and a lot of the community was there to help amplify the message. We added a bright orange banner to the top of the website that would display to the vulnerable accounts that their funds could be at risk.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/191ea51a6be2aeae733cb75bd8c41d346742df6d8e9d7248e982a56bbe35683d.png" alt="Banner on the site displaying for vulnerable accounts with link to the twitter revoke message" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Banner on the site displaying for vulnerable accounts with link to the twitter revoke message</figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2db51b67f779479aba72c274769df4cd3770c1f18fbf64f92c26f939d5659c6f.png" alt="Etherscan also acted quickly in marking the contracts as “requested for revoking” across all networks." blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Etherscan also acted quickly in marking the contracts as “requested for revoking” across all networks.</figcaption></figure><p>Alerting our community of the situation was successful, we quickly started seeing allowances revoked, and a few minutes before 12pm we saw the single largest one was revoked.</p><div data-type="twitter" tweetId="1627007047169634305" tweetData="{&quot;__typename&quot;:&quot;Tweet&quot;,&quot;lang&quot;:&quot;en&quot;,&quot;favorite_count&quot;:12,&quot;created_at&quot;:&quot;2023-02-18T18:08:03.000Z&quot;,&quot;display_text_range&quot;:[0,59],&quot;entities&quot;:{&quot;hashtags&quot;:[],&quot;urls&quot;:[],&quot;user_mentions&quot;:[],&quot;symbols&quot;:[]},&quot;id_str&quot;:&quot;1627007047169634305&quot;,&quot;text&quot;:&quot;The biggest open pending allowance has revoked permissions!&quot;,&quot;user&quot;:{&quot;id_str&quot;:&quot;1351396188097040386&quot;,&quot;name&quot;:&quot;revert&quot;,&quot;screen_name&quot;:&quot;revertfinance&quot;,&quot;is_blue_verified&quot;:true,&quot;profile_image_shape&quot;:&quot;Circle&quot;,&quot;verified&quot;:false,&quot;profile_image_url_https&quot;:&quot;https://storage.googleapis.com/papyrus_images/076f88dd904906e74a1cc09fecc9983342f196e3fc8f715283d9ce878da0a95f.png&quot;},&quot;edit_control&quot;:{&quot;edit_tweet_ids&quot;:[&quot;1627007047169634305&quot;],&quot;editable_until_msecs&quot;:&quot;1676745483000&quot;,&quot;is_edit_eligible&quot;:false,&quot;edits_remaining&quot;:&quot;5&quot;},&quot;conversation_count&quot;:1,&quot;news_action_type&quot;:&quot;conversation&quot;,&quot;quoted_tweet&quot;:{&quot;lang&quot;:&quot;en&quot;,&quot;reply_count&quot;:3,&quot;retweet_count&quot;:24,&quot;favorite_count&quot;:43,&quot;created_at&quot;:&quot;2023-02-18T16:20:26.000Z&quot;,&quot;display_text_range&quot;:[0,278],&quot;entities&quot;:{&quot;hashtags&quot;:[],&quot;urls&quot;:[],&quot;user_mentions&quot;:[],&quot;symbols&quot;:[]},&quot;id_str&quot;:&quot;1626979965727297536&quot;,&quot;text&quot;:&quot;Would help to spread the msg for accounts to revoke permissions for:\nmainnet: 0x531110418d8591c92e9cbbfc722db8ffb604fafd\npolygon: 0x8c925768c793e00c095135b8656d6014ee2d07bb\noptimism:\n0x2A017f2Fb369F4CA061B8D8A922Bb05100e8f8C3\narbitrum: 0x95a8cc9ab71b26bdacbe6a7ccf519456edc2a164&quot;,&quot;user&quot;:{&quot;id_str&quot;:&quot;1351396188097040386&quot;,&quot;name&quot;:&quot;revert&quot;,&quot;screen_name&quot;:&quot;revertfinance&quot;,&quot;is_blue_verified&quot;:true,&quot;profile_image_shape&quot;:&quot;Circle&quot;,&quot;verified&quot;:false,&quot;profile_image_url_https&quot;:&quot;https://storage.googleapis.com/papyrus_images/076f88dd904906e74a1cc09fecc9983342f196e3fc8f715283d9ce878da0a95f.png&quot;},&quot;edit_control&quot;:{&quot;edit_tweet_ids&quot;:[&quot;1626979965727297536&quot;],&quot;editable_until_msecs&quot;:&quot;1676739026000&quot;,&quot;is_edit_eligible&quot;:false,&quot;edits_remaining&quot;:&quot;5&quot;},&quot;isEdited&quot;:false,&quot;isStaleEdit&quot;:false},&quot;isEdited&quot;:false,&quot;isStaleEdit&quot;:false}"> 
  <div class="twitter-embed embed">
    <div class="twitter-header">
        <div style="display:flex">
          <a target="_blank" href="https://twitter.com/revertfinance">
              <img alt="User Avatar" class="twitter-avatar" src="https://storage.googleapis.com/papyrus_images/076f88dd904906e74a1cc09fecc9983342f196e3fc8f715283d9ce878da0a95f.png" />
            </a>
            <div style="margin-left:4px;margin-right:auto;line-height:1.2;">
              <a target="_blank" href="https://twitter.com/revertfinance" class="twitter-displayname">revert</a>
              <p><a target="_blank" href="https://twitter.com/revertfinance" class="twitter-username">@revertfinance</a></p>
    
            </div>
            <a href="https://twitter.com/revertfinance/status/1627007047169634305" target="_blank">
              <img alt="Twitter Logo" class="twitter-logo" src="https://paragraph.com/editor/twitter/logo.png" />
            </a>
          </div>
        </div>
      
    <div class="twitter-body">
      The biggest open pending allowance has revoked permissions!
      
      
      <div class="twitter-quoted">
        
  <div class="twitter-quoted twitter-embed">
    <div class="twitter-header">
        <div style="display:flex">
          <a target="_blank" href="https://twitter.com/revertfinance">
              <img alt="User Avatar" class="twitter-avatar" src="https://storage.googleapis.com/papyrus_images/076f88dd904906e74a1cc09fecc9983342f196e3fc8f715283d9ce878da0a95f.png" />
            </a>
            <div style="margin-left:4px;margin-right:auto;line-height:1.2;">
              <a target="_blank" href="https://twitter.com/revertfinance" class="twitter-displayname">revert</a>
              <p><a target="_blank" href="https://twitter.com/revertfinance" class="twitter-username">@revertfinance</a></p>
    
            </div>
            <a href="https://twitter.com/revertfinance/status/1626979965727297536" target="_blank">
              <img alt="Twitter Logo" class="twitter-logo" src="https://paragraph.com/editor/twitter/logo.png" />
            </a>
          </div>
        </div>
      
    <div class="twitter-body">
      Would help to spread the msg for accounts to revoke permissions for:<br />mainnet: 0x531110418d8591c92e9cbbfc722db8ffb604fafd<br />polygon: 0x8c925768c793e00c095135b8656d6014ee2d07bb<br />optimism:<br />0x2A017f2Fb369F4CA061B8D8A922Bb05100e8f8C3<br />arbitrum: 0x95a8cc9ab71b26bdacbe6a7ccf519456edc2a164
      
      
       
    </div>
    
  </div> 
  
    </div> 
    </div>
    
     <div class="twitter-footer">
          <a target="_blank" href="https://twitter.com/revertfinance/status/1627007047169634305" style="margin-right:16px; display:flex;">
            <img alt="Like Icon" class="twitter-heart" src="https://paragraph.com/editor/twitter/heart.png">
            12
          </a>
          <a target="_blank" href="https://twitter.com/revertfinance/status/1627007047169634305"><p>12:08 PM • Feb 18, 2023</p></a>
        </div>
    
  </div> 
  </div><p>After these wave of revokals, the total vulnerable allowances were down to close to $30k USD, a considerable but much less catastrophic amount. We also knew that the total amount stolen from victims was also close to but under another $30k, with $25k being from a single user who had reported the attacks on mainnet.</p><h2 id="h-whitehatting-it" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Whitehatting it</h2><p>The following day, by midday Sunday, February 19th, there were still close to $20,000 USD of unrevoked permissions across all networks. We’d  taken every measure possible to  contact the possibly affected users, and  decided that focusing on deploying a way to whitehat vulnerable accounts would be the best possible thing to do. We deployed our own attacker contract and started running a bot that would monitor any transfers into the vulnerable accounts to execute the described attack ourselves for refunding the users. This worked and we were able to get small amounts of tokens before the attackers and were used as part of the refunding.</p><p>By the end of the weekend, only a few thousand dollars that users had not revoked remained at risk though ready to be captured by our counter measure bot.</p><h2 id="h-lessons-learned-and-moving-forward" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Lessons learned &amp; moving  forward</h2><p>First, we want to apologize to all of our users, particularly those that were a victim of this exploit. At Revert Finance, our mission aims to empower our users, AMM LPs, and ensuring the safety and security of the tools we provide is paramount to achieving that.</p><p>This exploit was disappointing, painful and frustrating for us, but more importantly for those affected – and does reflect the way we aim to operate here at Revert.</p><p>We sub-estimated the this contract could present for our users. Since it was not a contract that would hold user funds, we assessed incorrectly that it was less of a risk and hiring a full audit was not necessary.</p><p>This is contrary to our other deployed contracts, the auto-compounder which was <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/peckshield/publications/blob/master/audit_reports/PeckShield-Audit-Report-Revert-Compoundor-v1.0.pdf">audited by Peckshiend</a> before deployment and has a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://immunefi.com/bounty/revert/">running bounty for $100k on immunefy</a>, and the time-vested v3 staker where a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/peckshield/publications/blob/master/audit_reports/PeckShield-Audit-Report-Revert-v1.0.pdf">full audit was also conducted by PeckShield</a> before deployment.</p><p>Going forward, and before resuming functionality of the affected contract, all of our deployments will receive a proper external audit, but more importantly we will not make the same mistake of assuming any contract that handles user funds, even temporarily, is less of a risk. While the <strong><em>“move fast and break things”</em></strong> philosophy is tempting when you are simply providing analytics, when smart contracts are involved <strong><em>“move at a steady pace and be very mindful of the things”</em></strong> is the only sensible approach.</p><p>Finally we would like to express sincere gratitude to our users, and the different folks who reached out to us privately offering their help and support. We will not forget it.</p><p>---</p><h3 id="h-the-affected-accounts" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">The affected accounts</h3><p>Below is a list of accounts with the amount of tokens that were withdrawn with the exploit, and the script we used to determine the amounts. Those same tokens and amounts have been now airdropped back as a refund from <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0x94f9FBdf13f19C86D6d07ae500D10e199BC61c4A#tokentxns">this account</a> on each respective network. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gist.github.com/mariorz/49976ce76773de2758a6b6bc29855257#file-v3analysis-js">This script</a> we used to generate the list of attacked victims.</p><pre data-type="codeBlock" text="MAINNET 0x067D0F9089743271058D4Bf2a1a29f4E9C6fdd1b USDC 19305.581627
MAINNET 0x4107A0A4a50AC2c4cc8C5a3954Bc01ff134506b2 USDC 500
MAINNET 0x067D0F9089743271058D4Bf2a1a29f4E9C6fdd1b USDT 4106.316699

OPTIMISM 0xbB8694519BC68B337663F0BDbE79847b49000b6B OP 403.5786287699002
OPTIMISM 0xD5dE81E7e5E4F740a26Ebb254d6052e1D03B4787 OP 32.00000000000003
OPTIMISM 0xD5dE81E7e5E4F740a26Ebb254d6052e1D03B4787 USDC 228.935843
OPTIMISM 0x89425a801dbbacD4562638161198b6d3b85A314c WETH 0.06919111687156008
OPTIMISM 0x50EE407e77EBfD8A6b0F22AC74719f63C8a0A7Db USDC 36.736549
OPTIMISM 0x8cadb20A4811f363Dadb863A190708bEd26245F8 DAI 10
OPTIMISM 0x5C0843066F64aA0D9858611401cD2DD6F2e1f7E4 DAI 17
OPTIMISM 0x50EE407e77EBfD8A6b0F22AC74719f63C8a0A7Db WETH 0.003659440712231981OPTIMISM 0x5C0843066F64aA0D9858611401cD2DD6F2e1f7E4 PREMIA 22
OPTIMISM 0x50EE407e77EBfD8A6b0F22AC74719f63C8a0A7Db USDC 106.557557
OPTIMISM 0xD5dE81E7e5E4F740a26Ebb254d6052e1D03B4787 USDC 6
OPTIMISM 0xe48fE6012f97b6A13C0Ce5cEF314cAF66E972deB USDC 41.296177

POLYGON 0x4E23d9Bb84359e2a20D3aBC6985d6c55c37062D6 WMATIC 15
POLYGON 0xb9B69B3B969E8Fa9EcF9815b396A77fB53267ED1 WMATIC 3.5972237426468854
POLYGON 0x225170393fCD06F3295aDa2bF33002C8ec94b8E4 USDC 194.316778
POLYGON 0x8cadb20A4811f363Dadb863A190708bEd26245F8 WBTC 1e-8
POLYGON 0x859Bb79038C20F09A7Ad5726e036028f301d5de6 USDC 0.76822
POLYGON 0x0B82F6a646cD5C07da58EBDDBd8b21caBD9E3632 USDC 111.918734
POLYGON 0x31Df5f1437eC5fA7BE165a84ED9635e9b0f57536 USDC 373.40421
POLYGON 0xD2eDb935FE14C80747E782FA870116D5E1C1E744 USDC 158
POLYGON 0x225170393fCD06F3295aDa2bF33002C8ec94b8E4 USDC 922.439314
POLYGON 0xD2eDb935FE14C80747E782FA870116D5E1C1E744 USDC 664.599662
POLYGON 0x5593095740485D30cd2171Eb12a1F174A1Ccb085 USDC 165.702693
POLYGON 0xb7A3E33A76c359349a2aED0A7833DCDB3E2D8337 WMATIC 0.004956763791274464
POLYGON 0x637c25D0f2CCa040D025e4c5b0332e6146869C56 USDC 6.488701
POLYGON 0x637c25D0f2CCa040D025e4c5b0332e6146869C56 DAI 7.590931982602232
POLYGON 0xA0f7F9F79f619BD86849747Be69Fb7a257fF01C0 WBTC 0.00000679
POLYGON 0x8cadb20A4811f363Dadb863A190708bEd26245F8 USDC 0.7853
POLYGON 0xA0f7F9F79f619BD86849747Be69Fb7a257fF01C0 oMATIC 0.21822824027535612
POLYGON 0xA0f7F9F79f619BD86849747Be69Fb7a257fF01C0 USDC 0.02
POLYGON 0xA0f7F9F79f619BD86849747Be69Fb7a257fF01C0 WBTC 0.00046135

ARBITRUM 0xf6b9Cb280Ae3c5dd5eC22D7A1A2A7f5F0a1AE879 USDC 200
ARBITRUM 0x19D32180BC2210eA3b500553d3Db90ef248A38f3 WETH 0.08983629296701101
ARBITRUM 0x7C14D5dB2A4417901E45D2Ab7fE33D916d18F0e1 WETH 0.01
ARBITRUM 0x19D32180BC2210eA3b500553d3Db90ef248A38f3 WETH 0.005984559978510494
ARBITRUM 0x5A12D9cd39Bc86C510aDA067F662c7bf796f8De6 WETH 0.002690670523787123
"><code>MAINNET <span class="hljs-number">0x067D0F9089743271058D4Bf2a1a29f4E9C6fdd1b</span> USDC <span class="hljs-number">19305.581627</span>
MAINNET <span class="hljs-number">0x4107A0A4a50AC2c4cc8C5a3954Bc01ff134506b2</span> USDC <span class="hljs-number">500</span>
MAINNET <span class="hljs-number">0x067D0F9089743271058D4Bf2a1a29f4E9C6fdd1b</span> USDT <span class="hljs-number">4106.316699</span>

OPTIMISM <span class="hljs-number">0xbB8694519BC68B337663F0BDbE79847b49000b6B</span> OP <span class="hljs-number">403.5786287699002</span>
OPTIMISM <span class="hljs-number">0xD5dE81E7e5E4F740a26Ebb254d6052e1D03B4787</span> OP <span class="hljs-number">32.00000000000003</span>
OPTIMISM <span class="hljs-number">0xD5dE81E7e5E4F740a26Ebb254d6052e1D03B4787</span> USDC <span class="hljs-number">228.935843</span>
OPTIMISM <span class="hljs-number">0x89425a801dbbacD4562638161198b6d3b85A314c</span> WETH <span class="hljs-number">0</span><span class="hljs-number">.06919111687156008</span>
OPTIMISM <span class="hljs-number">0x50EE407e77EBfD8A6b0F22AC74719f63C8a0A7Db</span> USDC <span class="hljs-number">36.736549</span>
OPTIMISM <span class="hljs-number">0x8cadb20A4811f363Dadb863A190708bEd26245F8</span> DAI <span class="hljs-number">10</span>
OPTIMISM <span class="hljs-number">0x5C0843066F64aA0D9858611401cD2DD6F2e1f7E4</span> DAI <span class="hljs-number">17</span>
OPTIMISM <span class="hljs-number">0x50EE407e77EBfD8A6b0F22AC74719f63C8a0A7Db</span> WETH <span class="hljs-number">0</span>.003659440712231981OPTIMISM <span class="hljs-number">0x5C0843066F64aA0D9858611401cD2DD6F2e1f7E4</span> PREMIA <span class="hljs-number">22</span>
OPTIMISM <span class="hljs-number">0x50EE407e77EBfD8A6b0F22AC74719f63C8a0A7Db</span> USDC <span class="hljs-number">106.557557</span>
OPTIMISM <span class="hljs-number">0xD5dE81E7e5E4F740a26Ebb254d6052e1D03B4787</span> USDC <span class="hljs-number">6</span>
OPTIMISM <span class="hljs-number">0xe48fE6012f97b6A13C0Ce5cEF314cAF66E972deB</span> USDC <span class="hljs-number">41.296177</span>

POLYGON <span class="hljs-number">0x4E23d9Bb84359e2a20D3aBC6985d6c55c37062D6</span> WMATIC <span class="hljs-number">15</span>
POLYGON <span class="hljs-number">0xb9B69B3B969E8Fa9EcF9815b396A77fB53267ED1</span> WMATIC <span class="hljs-number">3.5972237426468854</span>
POLYGON <span class="hljs-number">0x225170393fCD06F3295aDa2bF33002C8ec94b8E4</span> USDC <span class="hljs-number">194.316778</span>
POLYGON <span class="hljs-number">0x8cadb20A4811f363Dadb863A190708bEd26245F8</span> WBTC <span class="hljs-number">1e-8</span>
POLYGON <span class="hljs-number">0x859Bb79038C20F09A7Ad5726e036028f301d5de6</span> USDC <span class="hljs-number">0</span><span class="hljs-number">.76822</span>
POLYGON <span class="hljs-number">0x0B82F6a646cD5C07da58EBDDBd8b21caBD9E3632</span> USDC <span class="hljs-number">111.918734</span>
POLYGON <span class="hljs-number">0x31Df5f1437eC5fA7BE165a84ED9635e9b0f57536</span> USDC <span class="hljs-number">373.40421</span>
POLYGON <span class="hljs-number">0xD2eDb935FE14C80747E782FA870116D5E1C1E744</span> USDC <span class="hljs-number">158</span>
POLYGON <span class="hljs-number">0x225170393fCD06F3295aDa2bF33002C8ec94b8E4</span> USDC <span class="hljs-number">922.439314</span>
POLYGON <span class="hljs-number">0xD2eDb935FE14C80747E782FA870116D5E1C1E744</span> USDC <span class="hljs-number">664.599662</span>
POLYGON <span class="hljs-number">0x5593095740485D30cd2171Eb12a1F174A1Ccb085</span> USDC <span class="hljs-number">165.702693</span>
POLYGON <span class="hljs-number">0xb7A3E33A76c359349a2aED0A7833DCDB3E2D8337</span> WMATIC <span class="hljs-number">0</span><span class="hljs-number">.004956763791274464</span>
POLYGON <span class="hljs-number">0x637c25D0f2CCa040D025e4c5b0332e6146869C56</span> USDC <span class="hljs-number">6.488701</span>
POLYGON <span class="hljs-number">0x637c25D0f2CCa040D025e4c5b0332e6146869C56</span> DAI <span class="hljs-number">7.590931982602232</span>
POLYGON <span class="hljs-number">0xA0f7F9F79f619BD86849747Be69Fb7a257fF01C0</span> WBTC <span class="hljs-number">0</span><span class="hljs-number">.00000679</span>
POLYGON <span class="hljs-number">0x8cadb20A4811f363Dadb863A190708bEd26245F8</span> USDC <span class="hljs-number">0</span><span class="hljs-number">.7853</span>
POLYGON <span class="hljs-number">0xA0f7F9F79f619BD86849747Be69Fb7a257fF01C0</span> oMATIC <span class="hljs-number">0</span><span class="hljs-number">.21822824027535612</span>
POLYGON <span class="hljs-number">0xA0f7F9F79f619BD86849747Be69Fb7a257fF01C0</span> USDC <span class="hljs-number">0</span><span class="hljs-number">.02</span>
POLYGON <span class="hljs-number">0xA0f7F9F79f619BD86849747Be69Fb7a257fF01C0</span> WBTC <span class="hljs-number">0</span><span class="hljs-number">.00046135</span>

ARBITRUM <span class="hljs-number">0xf6b9Cb280Ae3c5dd5eC22D7A1A2A7f5F0a1AE879</span> USDC <span class="hljs-number">200</span>
ARBITRUM <span class="hljs-number">0x19D32180BC2210eA3b500553d3Db90ef248A38f3</span> WETH <span class="hljs-number">0</span><span class="hljs-number">.08983629296701101</span>
ARBITRUM <span class="hljs-number">0x7C14D5dB2A4417901E45D2Ab7fE33D916d18F0e1</span> WETH <span class="hljs-number">0</span><span class="hljs-number">.01</span>
ARBITRUM <span class="hljs-number">0x19D32180BC2210eA3b500553d3Db90ef248A38f3</span> WETH <span class="hljs-number">0</span><span class="hljs-number">.005984559978510494</span>
ARBITRUM <span class="hljs-number">0x5A12D9cd39Bc86C510aDA067F662c7bf796f8De6</span> WETH <span class="hljs-number">0</span><span class="hljs-number">.002690670523787123</span>
</code></pre><h2 id="h-the-attackers" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The Attackers</h2><p>On a post-mortem analysis we have determined that there were five EOA accounts involved in the attack. This information has been forwarded to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.chainalysis.com/">Chainalysis</a> for inclusion in their database.</p><p><strong>MAINNET: 0x38F887a0FE01b9e4960D5C727519408fA7f32F70</strong></p><p>The first funding transactions for this account comes from a multi-chain <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://%5Bhttps://etherscan.io/tx/0xeae5de4757fa646ed201535081eef3278e0632782d51a0f6e535ea7775ac0d63%5D">bridging from BNB chain</a>, where that account was originally <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bscscan.com/tx/0x30555a47fe66ecb180a4820800b92140d53b1c7744aa4f68756cbebaca0514cc">funded on August 30th, 2022 via tornado cash</a>.</p><p><strong>POLYGON: 0x31487bBD8c2E79465940CC07DEc049dC0845331B</strong></p><p>The first funding of this account was via a bridge called <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://anyswap.exchange/">AnySwap</a>, and this account was also <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bscscan.com/tx/0xc9d8b03613bab61efc007adb48e977a82913a260660536d74eeacf63cd45a270">funded via Tornado Cash</a> on the same date as the mainnet attacker account, August 30th. Given this, it seems apparent that at least this one and the mainnet accounts belong to the same attacker.</p><p><strong>OPTIMISM: 0xF93CEE8fdbC59BcA3A74A2F08d60a3e366E4768c</strong></p><p>This account appears to also have been first funded on BNB, but through a centralized non-custodial exchange called <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://fixedfloat.com/">FixedFloat</a> on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bscscan.com/tx/0x8ff78c1a66044512b795aa045f59b58f7c5107d429f9d515f774d1ef80e189cf">February 14th</a>. This same account also performed the same attack on the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://arbiscan.io/address/0xf93cee8fdbc59bca3a74a2f08d60a3e366e4768c">Arbitrum contract</a>.</p><p><strong>OPTIMISM: 0x9b6Bb041B79B83b2dF1839d51Cd654cc6444e852</strong></p><p>This account was originally funded on Optimism via the HOP bridge on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://optimistic.etherscan.io/tx/0x34ef5040b53db06fc867814a3f19a507d84e11837fc738b05a57589aa0123cb8">October 12th 2022</a> from Ethereum. On the Ethereum the account was originally <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/tx/0x4bd70cd482c39a4959ee4f8357c54aeee25738ccb0bda8458af9b7a7c809948b">funded on the same day (October 12th)</a> by account 0xbce37312886b43721bf488bda0f5d58871b310cf That account in turn was first <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/tx/0xff16ae91a7aa6310fbe5a1f853ac8a94db119768b2240fedb6c2ace464a5b78a">funded on June 7th 2021</a> by account 0xb7f830845e9f385372ae6fb160aa968908f5bfbc which has a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blockscan.com/address/0xb7f830845e9f385372ae6fb160aa968908f5bfbc">long history across several blockchains</a> due to the huge number of transactions Etherscan does allow to paginate that far back, but trackable for sure by inspecting the blockchain.</p><p><strong>OPTIMISM: 0x5504790a2426A312194270C7a7443a54AF9F75AE</strong></p><p>This account can be traced back to Ethereum where it originally <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://optimistic.etherscan.io/tx/0xd1b7ef5ef896f8acf93337f07913be8bf8314703518ce2fb5287645e2256a865">bridged from on December 13th 2022</a>. That account itself was originally <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/tx/0x5bf13b3ecc8dcdc413c90b53b01bf551fa9c7437a52aa561ee387ca401fae7ce">funded on the same day by account 0xc5e3605480fad6b9acb84585fb56860c835f6dd7</a>, that account was <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/tx/0x8db9158a440c93bbbef60b80a115dbb33da5ebdb95a1dced69dee2884eda9252">funded by account  0x077d360f11d220e4d5d831430c81c26c9be7c4a4 on December 02 2022</a>. That account has a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blockscan.com/address/0x077d360f11d220e4d5d831430c81c26c9be7c4a4">long history across chains</a> and the original funding is unavailable on ethersan.</p><p>Not included in the list above is our own bot 0x54ab50dd18305e4280e41af1923b38835363ecf1 which white hatted a small portion of funds on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://optimistic.etherscan.io/address/0x54ab50dd18305e4280e41af1923b38835363ecf1#tokentxns">Optimism</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygonscan.com/address/0x54ab50dd18305e4280e41af1923b38835363ecf1#tokentxns">Polygon</a>, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://arbiscan.io/address/0x54ab50dd18305e4280e41af1923b38835363ecf1#tokentxns">Arbitrum</a>.</p><p>If any of the above addresses was also performing white hatting service, please return the funds to this account: 0x54ab50dd18305e4280e41af1923b38835363ecf1 Keep 20%. No questions asked.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[Atomic swaps into Uniswap v3 positions]]></title>
            <link>https://paragraph.com/@revertfinance/atomic-swaps-into-uniswap-v3-positions</link>
            <guid>pHOJnV2uBCeG7uzoA7ZE</guid>
            <pubDate>Mon, 13 Feb 2023 17:18:39 GMT</pubDate>
            <description><![CDATA[After talking with many Uniswap V3 LPs during 2022 one of the most often heard things were to the effect of:I have 5000 USDC and I want to add them to my ETH/OP position. To do that I end up doing two or even three swaps, some in opposing directions, and even after that, I am left with change and just give up.Indeed, that is a pain point we’ve felt as well, and have built a solution for. One of the challenges in adding liquidity to existing positions on Uniswap v3 is getting the assets you wa...]]></description>
            <content:encoded><![CDATA[<p>After talking with many Uniswap V3 LPs during 2022 one of the most often heard things were to the effect of:</p><blockquote><p><strong><em>I have 5000 USDC and I want to add them to my ETH/OP position. To do that I end up doing two or even three swaps, some in opposing directions, and even after that, I am left with change and just give up.</em></strong></p></blockquote><p>Indeed, that is a pain point we’ve felt as well, and have built a solution for.</p><p>One of the challenges in adding liquidity to existing positions on Uniswap v3 is getting the assets you want to add to the correct ratio required. This is because the price of the assets is constantly changing, and the correct ratio is dependent on the current price of the pool as well as the position range. And if you are swapping into the same pool with sufficient price impact, the calculations get even more tricky.</p><p>Using <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance">Revert</a> you can now add liquidity to an existing position using any amounts of the underlying assets, or even any third arbitrary token. Revert will automatically compute the required amounts that need to be swapped for each of the token pair assets, get the best possible quote using the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.0x.org/introduction/welcome">0x API</a>, and atomically do the swap and add the liquidity to your positions.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/8adae83defec6d33f20931917d3c781f53d536c04d064d29e6a995f514722b60.jpg" alt="Swap and add liquidity" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Swap and add liquidity</figcaption></figure><p>We’ll conveniently do the same in the way out if you want do “withdraw and swap” or “collect fees and swap” for any mounts into either one of the assets or again an arbitrary third token.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d621c1cdbc9c5d0f77e87f3ab4a57d3fce50f74dbf80e6087878e44692a60794.jpg" alt="Decrease liquidity and swap" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Decrease liquidity and swap</figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/302e7a338cc6b2027b68736c021ae755449bc2e396044ac4f38b76fab28f31aa.jpg" alt="Claim fees and swap" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Claim fees and swap</figcaption></figure><p>This all happens atomically on-chain, we are making use of <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0x531110418d8591c92e9cbbfc722db8ffb604fafd">v3utils.sol</a>, a contract we have published for this purpose, and the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://protocol.0x.org/en/latest/">0x protocol</a> to handle any required swaps, so for LPs can confidently use this functionality even when they are providing liquidity for relatively small pools.</p><h2 id="h-how-does-it-work" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How does it work?</h2><p>We have implemented three basic operations defined by <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0x531110418d8591c92e9cbbfc722db8ffb604fafd#code">v3utils contract</a>.</p><p><strong>Swap and Increase liquidity:</strong> Takes any amount of token0, token1, or a third arbitrary token and a Uniswap v3 position NFT. It will swap the tokens into the correct amounts according to parameters passed given the position range, pool price, 0x quotes, and max slippage parameters, perform any required swaps, add the swapped tokens into the Uniswap position and return the NFT to the user.</p><p><strong>Decrease liquidity and swap:</strong> Is the inverse operation, given a Uniswap position NFT and a desired output token, which does not require to be any of the underlying assets, it will decrease liquidity by the amount indicated by the user and perform the swap as defined by the 0x API, and max slippage parameters, and finally return to the calling user the output of the swap(s) as well as the position NFT. It can be performed by any amount of liquidity contained by the position.</p><p><strong>Claim fees and swap:</strong> This one, similarly, allows users to collect any amount of uncollected fees on their Uniswap v3 position and atomically swap them into any arbitrary token. Returning, at the end of the operation, the output of the swaps as well as position NFT with the underlying liquidity untouched.</p><h2 id="h-coming-soon-swap-and-mint-atomically-swap-and-mint-a-position" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Coming Soon, Swap and Mint: Atomically swap and mint a position.</h2><p>And obvious missing piece here is this same idea of atomically swapping any asset into a determined Uniswap position, but instead of increasing liquidity on an existing position, create a new position that you don’t already hold. Fret not, we are on it, testing, and expect to ship it out in a few more days fully integrated to the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/initiator">revert initiator</a>.</p><h2 id="h-available-now" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Available now</h2><p>The features described above are already available on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance">the site</a> and across all chains. We are looking forward to your comments and feedback as you try them out. Follow us on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/revertfinance">Twitter</a> or drop in on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/HXfxKHrRmf">our Discord</a> to stay updated.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[Revert will run Compoundor bots going forward]]></title>
            <link>https://paragraph.com/@revertfinance/revert-will-run-compoundor-bots-going-forward</link>
            <guid>ls8KITsTXNURKWfEaeNx</guid>
            <pubDate>Tue, 24 Jan 2023 22:55:29 GMT</pubDate>
            <description><![CDATA[The Revert Compoundor protocol was designed to be trustless and with minimal governance required. It is however not decentralized. As explained in our whitepaper, there are four parameters controlled by a team multisig. Two of them maxTWAPTickDifference and TWAPSeconds relate to the Uniswap pricing oracle, and are a precautionary measure that prevents swapping of collected fees during high volatility periods. Another pair of variables totalRewardX64 and compounderRewardX64 determine the amoun...]]></description>
            <content:encoded><![CDATA[<p>The Revert Compoundor protocol was designed to be trustless and with minimal governance required. It is however not decentralized. As explained in our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://hackmd.io/@revert/BJcGIJQ35">whitepaper</a>, there are four parameters controlled by a team multisig. Two of them <strong><em>maxTWAPTickDifference</em></strong> <em>and </em><strong><em>TWAPSeconds</em></strong><em> relate to the Uniswap pricing oracle, and are a precautionary measure that prevents swapping of collected fees during high volatility periods.</em></p><p>Another pair of variables <strong><em>totalRewardX64</em></strong> <em>and </em><strong><em>compounderRewardX64</em></strong><em> determine the amount of fees the protocol charges and how much of that the protocol pays to the compoundor bots that execute the auto-compound function. These parameters have not been changed since the contract was deployed and are currently set at 2% for the </em><strong><em>totalRewardX64</em></strong><em> (this parameter can only be reduced and never increased) and 1% for the </em><strong><em>compounderRewardX64</em></strong><em> (this parameter can be decreased or increased, but it can never be greater than </em><strong><em>totalRewardX64</em></strong><em>). More clearly, this means that right now when a position is auto-compounded, 1% of the compounded fees go to the Compoundor protocol, and the other 1% goes to the people running the compoundor bots.</em></p><p>When we launched the Compoundor protocol our team was really the only one running auto-compounding bots, but we published and open sourced our bot implementation expecting other people might want to run them, learn from them, and perhaps accrue some profit by auto-compounding positions.</p><p>And indeed that did happen, to the point where we just kept our bots running as backstop in case other bots did not compound positions first, but that is a rare occurrence now.</p><p>On one hand this is great, we believe the resilience of the protocol is theoretically increased by compoundor bots running independently of ours. On the other hand there are some downsides to this.</p><p>First, in full honesty, we (Revert, the company) are leaving some revenue on the table by giving 1% to the bot operators for a task that we have to be prepared to do anyway.</p><p>Our stated mission is to build powerful analytics tools for liquidity providers in AMM procools while keeping them open and accessible to everyone, for this reason we have avoided doing things like paywalls and our roadmap includes revenue generating features that are aligned with our mission.</p><p>Going back to compoundor bots, a simple way to increase company revenue, <strong>without increasing costs for our users,</strong> is for us to take over the role of running them exclusively.</p><p>Additionally, as explained in our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://hackmd.io/@revert/BJcGIJQ35">whitepaper</a>, auto-compounding has diminishing returns. This is to say that the APY increase from auto-compounding most positions is not significantly increased if a position is auto-compounded 4000 times per year, instead of 400 times per year. While these excessive compoundings don’t represent an extra cost to the LPs, as the fee is 2% of what is compounded regardless of the compounding frequency, there are some externalities to consider:</p><ul><li><p>Unnecessary load on chains: as mentioned above, increasing the number of auto-compounds above a certain threshold does not significantly increase the APY for positions, but does result in more transactions being included in the respective network.</p></li><li><p>Unnecessary load in tracking positions: every collect and deposit transaction implies additional resources being spent in tracking the positions.</p></li><li><p>Excess balances mixed between positions: In some cases, because the uncollected fees and the positions being compounded have different ratios in token0 and token1, excess balances can be left in the contract assigned to the position owner. These balances are there to be used in future compoundings for positions from that same LP account, and if an account has more than one position that share an asset (like ETH), excess balances accrued from one position can be used to compound another position (owned by the same user). This can be avoided if Compoundor bots swap the accrued fees to the correct ratio, but this implies an extra gas cost that compoundor bots can decide to avoid.</p></li><li><p>UX confusion: Though the unnecessary compoundings do not imply any additional cost (gas or otherwise) to the LPs, we do get a lot of questions as to why positions are compounded with this seemingly excessive frequency.</p></li></ul><h2 id="h-the-changes-we-are-making-to-the-compoundor-parameters" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The changes we are making to the Compoundor parameters</h2><p>We will be leaving <strong>totalRewardX64</strong> as is, but will be setting <strong>compounderRewardX64</strong> to zero**.** What this means is that external compoundors are not incentivized to run the compoundor bots and that responsibility will be taken over by our team only.</p><p>The team will also run the bots so that we maximize APY improvement for positions, but also reducing the negative externalities mentioned above. Additionally, and not to minimize this, the revenue generated by the Compounder bots will be accrued fully by Revert.</p><h2 id="h-when-will-this-be-executed" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">When will this be executed?</h2><p>Any change to the Compoundor contract parameters requires a 24-hour time-lock to take effect, but we will also be allowing for a few more days, and notifying the folks we know running compoundor bots of these changes so that they can stop their bots, as otherwise they would be only paying gas costs without any revenue to make up for it.</p><h2 id="h-does-this-mean-that-revert-compoundor-is-becoming-more-centralized" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Does this mean that Revert Compoundor is becoming more centralized?</h2><p>The compoundor protocol is at the moment trustless and with minimal governance required, but it is not decentralized as the parameters, and the protocol revenue, is controlled by the team and not any form of DAO.</p><h2 id="h-what-comes-next" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What comes next?</h2><p>As we progress in executing on our roadmap, and a next version of the Compoundor, we will be releasing an additional set of features where it will perhaps become more important to decentralize governance of specific parameters and we will most likely do so.</p><h2 id="h-what-effects-will-this-have-on-lps-that-are-auto-compounding" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What effects will this have on LPs that are auto-compounding?</h2><p>The changes should be mostly unnoticeable for LPs. The Compounding APY will not be reduced even though they might notice less frequent compoundings for their positions. <strong>There are no new or additional costs for Revert users</strong>.</p><h2 id="h-compoundor-bot-runners-will-not-be-happy" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Compoundor bot runners will not be happy</h2><p>We understand this is not great news for folks who have been running Compoundor bots and we did not make this decision lightly. But we believe this change will help in keeping with our stated mission of building powerful tools for LPs in AMM protocols while keeping them open and accessible to everyone. Again, we believe as we execute on our roadmap throughout the year there will be new opportunities for external parties to help in protocol automation.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[Analyzing Polygon Compoundor Rewards (Period 1) 
]]></title>
            <link>https://paragraph.com/@revertfinance/analyzing-polygon-compoundor-rewards-period-1</link>
            <guid>NZ8wuUg6FtiybtpltkIy</guid>
            <pubDate>Fri, 20 Jan 2023 18:56:06 GMT</pubDate>
            <description><![CDATA[If you are new to Revert, we build analytics and management tools for liquidity providers in AMM protocols. One of our products is an auto-compounder for Uniswap v3 LP positions, you can read more about it here.150K MATIC distributedOn December 5th, 2022, we launched a 4-week program in partnership with Polygon focused on incentivizing autocompounder growth. The goal of the program was to accelerate the growth of the Revert Compoundor TVL, and Uniswap v3 liquidity, on Polygon. The program was...]]></description>
            <content:encoded><![CDATA[<p>If you are new to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance">Revert</a>, we build analytics and management tools for liquidity providers in AMM protocols. One of our products is an auto-compounder for Uniswap v3 LP positions, you can read more about it <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.revert.finance/revert/auto-compounder">here</a>.</p><h2 id="h-150k-matic-distributed" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">150K MATIC distributed</h2><p>On December 5th, 2022, we launched a 4-week program in partnership with Polygon focused on incentivizing autocompounder growth. The goal of the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/revertfinance.eth/_FfxBuW7iNwyJZuM796J3rHzRQ4wOYdAck3nWqqcoIE">program</a> was to accelerate the growth of the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.revert.finance/revert/auto-compounder">Revert Compoundor</a> TVL, and Uniswap v3 liquidity, on Polygon. The program was targeted at LPs on MATIC paired assets, that is to say pools for which one of the assets is MATIC, with positions that where<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/revertfinance.eth/aCfmS83B83_wZG4peHDIXbMfjF1IvwspqO1D2rrgwe0"> auto-compounding</a> during the incentivized period.</p><p>The 4-week Polygon auto-compounder incentives recently concluded on January 7th. 150K MATIC in rewards were distributed pro-rata to participating positions based on the amount of fees accrued during the period, taking into account changes in liquidity. The rules for the rewards program also included a 5-day linear “vesting period” in which the positions must be in-range for the rewards accrued to be fully claimable. This was done to prevent abuse of the rewards program by ultra-concentrated positions, which would not be profitable without outside incentives.</p><p>To account and distribute the rewards we wrote a program in line with the above criteria that generates a list of how much rewards each account accrued, and then we used the standard Merkle distributor tools created by Uniswap to generate a merkle tree and distributor contract and a section on the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/polygon-incentives/claim">website</a> for users to claim their rewards, from which 135k of the 150K MATIC have already been claimed.</p><div data-type="embedly" src="https://github.com/revert-finance/rewardor-js" data="{&quot;provider_url&quot;:&quot;https://github.com&quot;,&quot;description&quot;:&quot;Auto-compounder incentives calculations. Contribute to revert-finance/rewardor-js development by creating an account on GitHub.&quot;,&quot;title&quot;:&quot;GitHub - revert-finance/rewardor-js: Auto-compounder incentives calculations&quot;,&quot;url&quot;:&quot;https://github.com/revert-finance/rewardor-js&quot;,&quot;author_name&quot;:&quot;revert-finance&quot;,&quot;thumbnail_width&quot;:1200,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/3d251a9a29665f35e1fecbbba0fd8ad6b71fab76719bb00575b6ccc17ec3b9bc.png&quot;,&quot;author_url&quot;:&quot;https://github.com/revert-finance&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;GitHub&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:600,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:600,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/3d251a9a29665f35e1fecbbba0fd8ad6b71fab76719bb00575b6ccc17ec3b9bc.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/3d251a9a29665f35e1fecbbba0fd8ad6b71fab76719bb00575b6ccc17ec3b9bc.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://github.com/revert-finance/rewardor-js" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>GitHub - revert-finance/rewardor-js: Auto-compounder incentives calculations</h2><p>Auto-compounder incentives calculations. Contribute to revert-finance/rewardor-js development by creating an account on GitHub.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://github.com</span></div><img src="https://storage.googleapis.com/papyrus_images/3d251a9a29665f35e1fecbbba0fd8ad6b71fab76719bb00575b6ccc17ec3b9bc.png"/></div></a></div></div><div data-type="embedly" src="https://polygonscan.com/address/0x243d327fef1d878e6fa3784a75abcbb927c9132a" data="{&quot;provider_url&quot;:&quot;https://polygonscan.com&quot;,&quot;description&quot;:&quot;Contract: Verified | Balance: $1,093.97 across 1 Chain | Transactions: 475 | As at Oct-24-2025 11:39:57 PM (UTC)&quot;,&quot;title&quot;:&quot;Address: 0x243d327f...927c9132a | PolygonScan&quot;,&quot;author_name&quot;:&quot;PolygonScan.com&quot;,&quot;url&quot;:&quot;https://polygonscan.com/address/0x243d327fef1d878e6fa3784a75abcbb927c9132a&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/e7d80bcbfe0af34ae041556432489ba14e43d44c125a20c734d83b3ad26531a4.jpg&quot;,&quot;thumbnail_width&quot;:288,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Polygon (POL) Blockchain Explorer&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:288,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:288,&quot;height&quot;:288,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/e7d80bcbfe0af34ae041556432489ba14e43d44c125a20c734d83b3ad26531a4.jpg&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/e7d80bcbfe0af34ae041556432489ba14e43d44c125a20c734d83b3ad26531a4.jpg"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://polygonscan.com/address/0x243d327fef1d878e6fa3784a75abcbb927c9132a" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Address: 0x243d327f...927c9132a | PolygonScan</h2><p>Contract: Verified | Balance: $1,093.97 across 1 Chain | Transactions: 475 | As at Oct-24-2025 11:39:57 PM (UTC)</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://polygonscan.com</span></div><img src="https://storage.googleapis.com/papyrus_images/e7d80bcbfe0af34ae041556432489ba14e43d44c125a20c734d83b3ad26531a4.jpg"/></div></a></div></div><h2 id="h-compoundor-tvl-growth" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Compoundor TVL growth</h2><p>The incentives program was a smashing success – resulting in significant, accelerated growth for Revert Compounder TVL &amp; Uniswap liquidity on Polygon. Before the start of the program,  Compoundor TVL on Polygon sat at  ~$250K. The launch of the program drove an immediate, significant increase in TVL, reaching a peak TVL of $3.23M on Dec 15th, 2022. Following the conclusion of the program, TVL held at $1.3M for two weeks (marked at time of writing).  Data is viewable here on<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://defillama.com/protocol/revert-compoundor"> DeFiLlama</a>.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/731d8acc5e63cc2e43736e85577c494ac4cab81cbd92a00898a11e15d25db5f2.jpg" alt="Revert Compoundor TVL on Polygon" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Revert Compoundor TVL on Polygon</figcaption></figure><h2 id="h-account-distribution" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Account distribution</h2><p>A total of 689 Polygon accounts were awarded rewards during period 1. 589 of which received more than 1 MATIC in rewards. 377 of which received more than 10 MATIC in rewards. 114 of which received more than 100 MATIC in rewards. 21 of which received more than 1000 MATIC in rewards. 1 of which received more than 10,000 MATIC in rewards.</p><h3 id="h-top-50-accounts-by-matic-awarded" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Top 50 accounts by MATIC awarded</h3><pre data-type="codeBlock" text="|                                     :owner |    :amount-rewards |
|--------------------------------------------+--------------------|
| 0xd91b641ab0080b3702f720cd3febad8fb2e3a56d |   44135.7816503603 |
| 0x73831e7c600f48cebbbff957b466be8e5c087f34 |   7174.94811677305 |
| 0x8343f493557dcba5fe9e08e3ec115b6af2de54b1 |  6296.426536122361 |
| 0x7e784d7dc76a7c034b320db9ff8b02d1328c4855 |   5665.51783613129 |
| 0x75f03bcf0e56b7de72ed26585caee949f0d5bf1a |  5431.129695688685 |
| 0xaf1b45fbbda5d2d1ab923049ed7d26be3b22bca8 |  5176.038042762679 |
| 0x7767fea8bc523ab250b505df3e89a43b9c658e64 |   4849.29594496913 |
| 0xc766d73be01caa06834032bf5c8f8f0f41a7bf36 |  4505.016323479693 |
| 0xb154af72c7f5760a92c46193aeb24ff8ddd64488 |  4266.686667830226 |
| 0xa2d76c09b86cf904f75672df51f859a876a88429 |   3958.95709920991 |
| 0x194772668b6d800ba24d3f910bb004da1a81cc81 |   3753.03379875024 |
| 0xc89c3f23994a90491972bf98a57e5ed25bbf632d | 3335.8317879374817 |
| 0x02bf3258d6024b2b34fd7d21f225db6cda939e76 |   2398.73131905753 |
| 0x0dd89655c6ee8d660c00667625434b53112bd32e |  2302.753729351245 |
| 0x31a1e76a8eddeb1f5645ead3d500b2d620e92514 |  2043.323460025329 |
| 0x27d2791842476060e16b99a9f6ce97a0797c6477 | 1993.0586620196177 |
| 0x4903cb9e427ded0e36598bc65c815052c98afeac |  1524.066331180839 |
| 0x4251890eb713de6cc954b10c134453a6cf470fe8 |  1370.830653339895 |
| 0x395fbee0a2a269adcb13e48fc06dbdc06d033502 | 1238.6633152359448 |
| 0x11dc6ca3b9cc282d62dfba8c47fcacef132c86b3 | 1109.8918781527034 |
| 0x0265cb7012603a3c132283816a8ce39216247907 |   1023.33523738812 |
| 0x90b9011a23cce0a9c8c78527b77bc7427b2cfa6c |  983.0336239501987 |
| 0xd978f6ae3377c1a2bd74741ada0398b7fe16ba01 |   939.782194582607 |
| 0xc7f91db49cf767f16bae569c0805e7fbcac765ed |   863.175054313817 |
| 0xfc93c3010ea5668c1b6900a9fe87168b63dec145 |  862.9758936409672 |
| 0x2a960a9b4fabaca80b9624f7d18e33a9276cedb5 |   720.836031521582 |
| 0x5779502a2395cd22346059b518e91423200c99a2 |  652.6861752871025 |
| 0xc531ee6b5cc1976e63fdeabf2b65466d81932ed5 |  651.2856444248913 |
| 0x5593095740485d30cd2171eb12a1f174a1ccb085 |  599.3658281231972 |
| 0x95f6f16b8e45039a5aa679711b272bfc6b7805c6 |   583.651551102354 |
| 0x07faafeb5228bbd3ab6ae5dad77d018c472c986e |   571.348897954063 |
| 0xfc027782f4195fb3c0affaf7850cc9bc440db4a0 |   570.817957564264 |
| 0xa3ccbee1729f2d744fe2325c25199cf0e670fc44 |   541.499023187726 |
| 0x1af115586a5de2c7db35749143b25a8dd7383956 |  510.0617290929411 |
| 0xa92464c138f82512346c8346d1530a97a8b00044 |   472.394013543761 |
| 0x705b434c957cacd7c3a74f6d13a5553071ab08a6 |   450.918730945218 |
| 0x8046f936631201c7ebf508cc8dfe2f6a07559385 | 433.58311400276614 |
| 0xfb680c36ccebab9e53403b645fecc148c7ddc2bb |   420.688656523156 |
| 0x72bf2dbc9d3a724253a05b58b906109e8c382910 |   411.021657935344 |
| 0x19d772e0cfd61d6fbfca266d6c1fe4df4eea7f9e |   374.477964453234 |
| 0x041fc0ba13e01925df08966996d4faad03a6a8f5 |   372.209879286633 |
| 0x02e7b714fae84e4ba80f3cda5508553e7cf5042a |  369.5195819903062 |
| 0xb0cf142f4bd18e9e76ed15448d10d4054bdc8e3e |  368.7380726530805 |
| 0x547bb40b50282a94055a71c416c23cf7f343e59c |     350.1301016432 |
| 0x80dda80819fa9f013941055505eaf055a5ec2ff6 |   348.112143526294 |
| 0xfa55dab8940946b416b76811f3dc5cc9c945a018 |   332.092410775566 |
| 0x0525d7fac2fd6e4689cdbc508a332fb6d58c2f83 |   327.811596721672 |
| 0xf84e4ac4a0fa3331a2f16821676840d76bb38840 |  326.9790656376576 |
| 0x9b1f4ae624430b4a8ebc0fb39101bdd8f41320a4 | 325.01461647690974 |
| 0x0a2492d1b9a80fe094a011d645666653f3d3fc09 |   320.844315829644 |
"><code><span class="hljs-operator">|</span>                                     :owner <span class="hljs-operator">|</span>    :amount<span class="hljs-operator">-</span>rewards <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">+</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xd91b641ab0080b3702f720cd3febad8fb2e3a56d</span> <span class="hljs-operator">|</span>   <span class="hljs-number">44135.7816503603</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x73831e7c600f48cebbbff957b466be8e5c087f34</span> <span class="hljs-operator">|</span>   <span class="hljs-number">7174.94811677305</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x8343f493557dcba5fe9e08e3ec115b6af2de54b1</span> <span class="hljs-operator">|</span>  <span class="hljs-number">6296.426536122361</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x7e784d7dc76a7c034b320db9ff8b02d1328c4855</span> <span class="hljs-operator">|</span>   <span class="hljs-number">5665.51783613129</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x75f03bcf0e56b7de72ed26585caee949f0d5bf1a</span> <span class="hljs-operator">|</span>  <span class="hljs-number">5431.129695688685</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xaf1b45fbbda5d2d1ab923049ed7d26be3b22bca8</span> <span class="hljs-operator">|</span>  <span class="hljs-number">5176.038042762679</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x7767fea8bc523ab250b505df3e89a43b9c658e64</span> <span class="hljs-operator">|</span>   <span class="hljs-number">4849.29594496913</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xc766d73be01caa06834032bf5c8f8f0f41a7bf36</span> <span class="hljs-operator">|</span>  <span class="hljs-number">4505.016323479693</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xb154af72c7f5760a92c46193aeb24ff8ddd64488</span> <span class="hljs-operator">|</span>  <span class="hljs-number">4266.686667830226</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xa2d76c09b86cf904f75672df51f859a876a88429</span> <span class="hljs-operator">|</span>   <span class="hljs-number">3958.95709920991</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x194772668b6d800ba24d3f910bb004da1a81cc81</span> <span class="hljs-operator">|</span>   <span class="hljs-number">3753.03379875024</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xc89c3f23994a90491972bf98a57e5ed25bbf632d</span> <span class="hljs-operator">|</span> <span class="hljs-number">3335.8317879374817</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x02bf3258d6024b2b34fd7d21f225db6cda939e76</span> <span class="hljs-operator">|</span>   <span class="hljs-number">2398.73131905753</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x0dd89655c6ee8d660c00667625434b53112bd32e</span> <span class="hljs-operator">|</span>  <span class="hljs-number">2302.753729351245</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x31a1e76a8eddeb1f5645ead3d500b2d620e92514</span> <span class="hljs-operator">|</span>  <span class="hljs-number">2043.323460025329</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x27d2791842476060e16b99a9f6ce97a0797c6477</span> <span class="hljs-operator">|</span> <span class="hljs-number">1993.0586620196177</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x4903cb9e427ded0e36598bc65c815052c98afeac</span> <span class="hljs-operator">|</span>  <span class="hljs-number">1524.066331180839</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x4251890eb713de6cc954b10c134453a6cf470fe8</span> <span class="hljs-operator">|</span>  <span class="hljs-number">1370.830653339895</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x395fbee0a2a269adcb13e48fc06dbdc06d033502</span> <span class="hljs-operator">|</span> <span class="hljs-number">1238.6633152359448</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x11dc6ca3b9cc282d62dfba8c47fcacef132c86b3</span> <span class="hljs-operator">|</span> <span class="hljs-number">1109.8918781527034</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x0265cb7012603a3c132283816a8ce39216247907</span> <span class="hljs-operator">|</span>   <span class="hljs-number">1023.33523738812</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x90b9011a23cce0a9c8c78527b77bc7427b2cfa6c</span> <span class="hljs-operator">|</span>  <span class="hljs-number">983.0336239501987</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xd978f6ae3377c1a2bd74741ada0398b7fe16ba01</span> <span class="hljs-operator">|</span>   <span class="hljs-number">939.782194582607</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xc7f91db49cf767f16bae569c0805e7fbcac765ed</span> <span class="hljs-operator">|</span>   <span class="hljs-number">863.175054313817</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xfc93c3010ea5668c1b6900a9fe87168b63dec145</span> <span class="hljs-operator">|</span>  <span class="hljs-number">862.9758936409672</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x2a960a9b4fabaca80b9624f7d18e33a9276cedb5</span> <span class="hljs-operator">|</span>   <span class="hljs-number">720.836031521582</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x5779502a2395cd22346059b518e91423200c99a2</span> <span class="hljs-operator">|</span>  <span class="hljs-number">652.6861752871025</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xc531ee6b5cc1976e63fdeabf2b65466d81932ed5</span> <span class="hljs-operator">|</span>  <span class="hljs-number">651.2856444248913</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x5593095740485d30cd2171eb12a1f174a1ccb085</span> <span class="hljs-operator">|</span>  <span class="hljs-number">599.3658281231972</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x95f6f16b8e45039a5aa679711b272bfc6b7805c6</span> <span class="hljs-operator">|</span>   <span class="hljs-number">583.651551102354</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x07faafeb5228bbd3ab6ae5dad77d018c472c986e</span> <span class="hljs-operator">|</span>   <span class="hljs-number">571.348897954063</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xfc027782f4195fb3c0affaf7850cc9bc440db4a0</span> <span class="hljs-operator">|</span>   <span class="hljs-number">570.817957564264</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xa3ccbee1729f2d744fe2325c25199cf0e670fc44</span> <span class="hljs-operator">|</span>   <span class="hljs-number">541.499023187726</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x1af115586a5de2c7db35749143b25a8dd7383956</span> <span class="hljs-operator">|</span>  <span class="hljs-number">510.0617290929411</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xa92464c138f82512346c8346d1530a97a8b00044</span> <span class="hljs-operator">|</span>   <span class="hljs-number">472.394013543761</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x705b434c957cacd7c3a74f6d13a5553071ab08a6</span> <span class="hljs-operator">|</span>   <span class="hljs-number">450.918730945218</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x8046f936631201c7ebf508cc8dfe2f6a07559385</span> <span class="hljs-operator">|</span> <span class="hljs-number">433.58311400276614</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xfb680c36ccebab9e53403b645fecc148c7ddc2bb</span> <span class="hljs-operator">|</span>   <span class="hljs-number">420.688656523156</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x72bf2dbc9d3a724253a05b58b906109e8c382910</span> <span class="hljs-operator">|</span>   <span class="hljs-number">411.021657935344</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x19d772e0cfd61d6fbfca266d6c1fe4df4eea7f9e</span> <span class="hljs-operator">|</span>   <span class="hljs-number">374.477964453234</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x041fc0ba13e01925df08966996d4faad03a6a8f5</span> <span class="hljs-operator">|</span>   <span class="hljs-number">372.209879286633</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x02e7b714fae84e4ba80f3cda5508553e7cf5042a</span> <span class="hljs-operator">|</span>  <span class="hljs-number">369.5195819903062</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xb0cf142f4bd18e9e76ed15448d10d4054bdc8e3e</span> <span class="hljs-operator">|</span>  <span class="hljs-number">368.7380726530805</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x547bb40b50282a94055a71c416c23cf7f343e59c</span> <span class="hljs-operator">|</span>     <span class="hljs-number">350.1301016432</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x80dda80819fa9f013941055505eaf055a5ec2ff6</span> <span class="hljs-operator">|</span>   <span class="hljs-number">348.112143526294</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xfa55dab8940946b416b76811f3dc5cc9c945a018</span> <span class="hljs-operator">|</span>   <span class="hljs-number">332.092410775566</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x0525d7fac2fd6e4689cdbc508a332fb6d58c2f83</span> <span class="hljs-operator">|</span>   <span class="hljs-number">327.811596721672</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0xf84e4ac4a0fa3331a2f16821676840d76bb38840</span> <span class="hljs-operator">|</span>  <span class="hljs-number">326.9790656376576</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x9b1f4ae624430b4a8ebc0fb39101bdd8f41320a4</span> <span class="hljs-operator">|</span> <span class="hljs-number">325.01461647690974</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> <span class="hljs-number">0x0a2492d1b9a80fe094a011d645666653f3d3fc09</span> <span class="hljs-operator">|</span>   <span class="hljs-number">320.844315829644</span> <span class="hljs-operator">|</span>
</code></pre><h2 id="h-positions-distribution" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Positions Distribution</h2><p>One of our key objectives in designing the program was to migrate Revert users (specifically, those with active LP positions) from Ethereum Mainnet to Polygon.  Thus, one interesting metric for measuring our program’s success included a comparison of the net distribution of rewards, across positions created before VS. after the program started. If successful, we’d expect to see rewards being skewed towards positions created very close to or after the incentives program was started.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4c0c609612c20762ae1c937e23cd21cbf9219889cf3b1103ab022aac6f3a39be.png" alt="x-axis is position mint timestamp, y-axis is MATIC rewards." blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">x-axis is position mint timestamp, y-axis is MATIC rewards.</figcaption></figure><p>Indeed, we saw that 82,397 MATIC were rewarded to positions created after the incentives period started, and 67,602 MATIC were rewarded to positions created before the incentives period started, 44135 of which were allocated to an individual, successful position on MATIC/USDC. </p><h2 id="h-the-top-positions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The Top Positions</h2><p>The position that received the largest share of rewards for this period, with NFT ID <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/uniswap-position/polygon/352356">352356,</a> received 44,135 MATIC. The position is set on MATIC/USDC at 0.05% on a range of 0.6456 - 0.9602 MATIC/USDC. It has an age of 102 days, and has total deposits in value of over $1,641,677.</p><p>Position #<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/uniswap-position/polygon/352356">352356</a> had already been quite profitable, even excluding compounded rewards.   The position has a total PNL $15,535 at current prices over the course of 100 days.  Total APR amounted to 10%, against holding both assets. Also observable is that this position has been auto-compounder over 6900 times which has resulted in around a 3.6% increase in APY.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5dd905546b4595be638a558c8e31d14a0b413810ae42627e5fd6d2686c128a35.png" alt="3.69% increase in APY with auto-compounding" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">3.69% increase in APY with auto-compounding</figcaption></figure><p>At current prices, the 44,135 MATIC in rewards results in an additional 31% increase in APR during the four weeks of the incentives period.</p><h2 id="h-top-50-positions-by-rewards-received" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Top 50 positions by rewards received</h2><pre data-type="codeBlock" text="| :nft-id |             :pair | :amount-rewards | :rewards-apr |
|---------+-------------------+-----------------+--------------|
|  352356 |   WMATIC/USDC/500 |        44135.78 |        31.34 |
|  585029 |   WMATIC/LDO/3000 |         7174.95 |        75.34 |
|  558339 |   WMATIC/WETH/500 |         5665.52 |        20.72 |
|  586378 |   WMATIC/USDT/500 |         4222.10 |        81.82 |
|  449307 |   WMATIC/LDO/3000 |         4202.66 |        74.64 |
|  568075 |   WMATIC/LDO/3000 |         3753.03 |        89.69 |
|  575023 |   WMATIC/USDC/500 |         2689.98 |        43.57 |
|  562109 |   WMATIC/GNS/3000 |         2645.10 |       126.38 |
|  560596 |   WMATIC/WETH/500 |         2621.60 |        31.20 |
|  447077 |    WMATIC/BOB/500 |         2398.73 |        50.84 |
|  567890 |  WMATIC/USDC/3000 |         2309.38 |        41.31 |
|  560592 |  WMATIC/WETH/3000 |         2227.70 |        26.40 |
|  559953 |   WMATIC/USDT/500 |         2001.21 |        77.23 |
|  555880 |   WMATIC/USDT/500 |         1859.79 |        76.85 |
|  589645 |   WMATIC/WETH/500 |         1774.57 |        13.99 |
|  564214 |  WMATIC/WETH/3000 |         1601.27 |        25.20 |
|  558221 | WMATIC/RNDR/10000 |         1310.08 |       182.50 |
|  554966 |   WMATIC/USDT/500 |         1286.86 |       155.45 |
|  598992 |  WMATIC/SAND/3000 |         1094.60 |        46.43 |
|  560778 |   WMATIC/GNS/3000 |         1023.34 |       123.37 |
|  564134 |   WMATIC/GNS/3000 |          933.94 |        60.14 |
|  573944 |  WMATIC/LINK/3000 |          909.73 |        43.05 |
|  563129 |   WMATIC/GNS/3000 |          863.18 |       115.93 |
|  591332 |   WMATIC/USDC/500 |          822.79 |        91.07 |
|  558794 |   WMATIC/USDT/500 |          756.46 |       122.44 |
|  554095 |   WMATIC/USDC/500 |          752.73 |        24.72 |
|  598763 | SUSHI/WMATIC/3000 |          728.15 |        20.87 |
|  566754 |   WMATIC/GNS/3000 |          720.84 |        99.71 |
|  506004 |  WMATIC/WETH/3000 |          720.06 |        52.40 |
|  572769 |   WMATIC/USDT/500 |          719.47 |         9.05 |
|  562343 |   WMATIC/GNS/3000 |          696.03 |       149.99 |
|  576052 |   WMATIC/USDC/500 |          693.97 |        55.11 |
|  557786 |   WMATIC/WETH/500 |          684.90 |        19.74 |
|  562964 |  WMATIC/LINK/3000 |          669.86 |        82.16 |
|  550699 |   WMATIC/USDC/500 |          666.93 |        52.12 |
|  558885 |   WMATIC/USDC/500 |          612.22 |        55.19 |
|  567932 |   WMATIC/WETH/500 |          611.20 |        11.39 |
|  482241 |  WMATIC/WETH/3000 |          606.81 |        25.61 |
|  576254 |   WMATIC/USDC/500 |          583.65 |        38.70 |
|  507341 |   WMATIC/USDC/500 |          571.35 |        86.22 |
|  549056 |   WMATIC/USDC/500 |          570.82 |        79.14 |
|  563148 |   WMATIC/GNS/3000 |          541.50 |       132.62 |
|  595919 |  WMATIC/LINK/3000 |          520.55 |        29.03 |
|  562099 |   WMATIC/USDC/500 |          516.24 |        16.94 |
|  598986 |  WMATIC/LINK/3000 |          479.68 |        25.64 |
|  562757 |   WMATIC/GNS/3000 |          472.39 |       113.51 |
|  585321 |   WMATIC/GNS/3000 |          468.86 |        33.82 |
|  563163 |   WMATIC/GNS/3000 |          460.98 |        88.67 |
|  562569 |   WMATIC/GNS/3000 |          450.92 |       116.29 |
|  566032 |   WMATIC/GNS/3000 |          411.02 |       115.86 |
"><code><span class="hljs-operator">|</span> :nft<span class="hljs-operator">-</span>id <span class="hljs-operator">|</span>             :pair <span class="hljs-operator">|</span> :amount<span class="hljs-operator">-</span>rewards <span class="hljs-operator">|</span> :rewards<span class="hljs-operator">-</span>apr <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">+</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">+</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">+</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">352356</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>        <span class="hljs-number">44135.78</span> <span class="hljs-operator">|</span>        <span class="hljs-number">31.34</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">585029</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>LDO<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">7174.95</span> <span class="hljs-operator">|</span>        <span class="hljs-number">75.34</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">558339</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">5665.52</span> <span class="hljs-operator">|</span>        <span class="hljs-number">20.72</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">586378</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDT<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">4222.10</span> <span class="hljs-operator">|</span>        <span class="hljs-number">81.82</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">449307</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>LDO<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">4202.66</span> <span class="hljs-operator">|</span>        <span class="hljs-number">74.64</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">568075</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>LDO<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">3753.03</span> <span class="hljs-operator">|</span>        <span class="hljs-number">89.69</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">575023</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2689.98</span> <span class="hljs-operator">|</span>        <span class="hljs-number">43.57</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562109</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2645.10</span> <span class="hljs-operator">|</span>       <span class="hljs-number">126.38</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">560596</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2621.60</span> <span class="hljs-operator">|</span>        <span class="hljs-number">31.20</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">447077</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>BOB<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2398.73</span> <span class="hljs-operator">|</span>        <span class="hljs-number">50.84</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">567890</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2309.38</span> <span class="hljs-operator">|</span>        <span class="hljs-number">41.31</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">560592</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2227.70</span> <span class="hljs-operator">|</span>        <span class="hljs-number">26.40</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">559953</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDT<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2001.21</span> <span class="hljs-operator">|</span>        <span class="hljs-number">77.23</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">555880</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDT<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1859.79</span> <span class="hljs-operator">|</span>        <span class="hljs-number">76.85</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">589645</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1774.57</span> <span class="hljs-operator">|</span>        <span class="hljs-number">13.99</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">564214</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1601.27</span> <span class="hljs-operator">|</span>        <span class="hljs-number">25.20</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">558221</span> <span class="hljs-operator">|</span> WMATIC<span class="hljs-operator">/</span>RNDR<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1310.08</span> <span class="hljs-operator">|</span>       <span class="hljs-number">182.50</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">554966</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDT<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1286.86</span> <span class="hljs-operator">|</span>       <span class="hljs-number">155.45</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">598992</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>SAND<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1094.60</span> <span class="hljs-operator">|</span>        <span class="hljs-number">46.43</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">560778</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1023.34</span> <span class="hljs-operator">|</span>       <span class="hljs-number">123.37</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">564134</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">933.94</span> <span class="hljs-operator">|</span>        <span class="hljs-number">60.14</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">573944</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>LINK<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">909.73</span> <span class="hljs-operator">|</span>        <span class="hljs-number">43.05</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">563129</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">863.18</span> <span class="hljs-operator">|</span>       <span class="hljs-number">115.93</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">591332</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">822.79</span> <span class="hljs-operator">|</span>        <span class="hljs-number">91.07</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">558794</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDT<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">756.46</span> <span class="hljs-operator">|</span>       <span class="hljs-number">122.44</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">554095</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">752.73</span> <span class="hljs-operator">|</span>        <span class="hljs-number">24.72</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">598763</span> <span class="hljs-operator">|</span> SUSHI<span class="hljs-operator">/</span>WMATIC<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">728.15</span> <span class="hljs-operator">|</span>        <span class="hljs-number">20.87</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">566754</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">720.84</span> <span class="hljs-operator">|</span>        <span class="hljs-number">99.71</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">506004</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">720.06</span> <span class="hljs-operator">|</span>        <span class="hljs-number">52.40</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">572769</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDT<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">719.47</span> <span class="hljs-operator">|</span>         <span class="hljs-number">9.05</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562343</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">696.03</span> <span class="hljs-operator">|</span>       <span class="hljs-number">149.99</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">576052</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">693.97</span> <span class="hljs-operator">|</span>        <span class="hljs-number">55.11</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">557786</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">684.90</span> <span class="hljs-operator">|</span>        <span class="hljs-number">19.74</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562964</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>LINK<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">669.86</span> <span class="hljs-operator">|</span>        <span class="hljs-number">82.16</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">550699</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">666.93</span> <span class="hljs-operator">|</span>        <span class="hljs-number">52.12</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">558885</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">612.22</span> <span class="hljs-operator">|</span>        <span class="hljs-number">55.19</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">567932</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">611.20</span> <span class="hljs-operator">|</span>        <span class="hljs-number">11.39</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">482241</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">606.81</span> <span class="hljs-operator">|</span>        <span class="hljs-number">25.61</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">576254</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">583.65</span> <span class="hljs-operator">|</span>        <span class="hljs-number">38.70</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">507341</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">571.35</span> <span class="hljs-operator">|</span>        <span class="hljs-number">86.22</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">549056</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">570.82</span> <span class="hljs-operator">|</span>        <span class="hljs-number">79.14</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">563148</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">541.50</span> <span class="hljs-operator">|</span>       <span class="hljs-number">132.62</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">595919</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>LINK<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">520.55</span> <span class="hljs-operator">|</span>        <span class="hljs-number">29.03</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562099</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>          <span class="hljs-number">516.24</span> <span class="hljs-operator">|</span>        <span class="hljs-number">16.94</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">598986</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>LINK<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">479.68</span> <span class="hljs-operator">|</span>        <span class="hljs-number">25.64</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562757</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">472.39</span> <span class="hljs-operator">|</span>       <span class="hljs-number">113.51</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">585321</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">468.86</span> <span class="hljs-operator">|</span>        <span class="hljs-number">33.82</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">563163</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">460.98</span> <span class="hljs-operator">|</span>        <span class="hljs-number">88.67</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562569</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">450.92</span> <span class="hljs-operator">|</span>       <span class="hljs-number">116.29</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">566032</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">411.02</span> <span class="hljs-operator">|</span>       <span class="hljs-number">115.86</span> <span class="hljs-operator">|</span>
</code></pre><h2 id="h-top-50-positions-by-rewards-apr" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Top 50 positions by rewards APR</h2><pre data-type="codeBlock" text="| :nft-id |              :pair | :amount-rewards | :rewards-apr |
|---------+--------------------+-----------------+--------------|
|  558037 |  WMATIC/mXEN/10000 |          142.04 |      2605.60 |
|  552993 |  WMATIC/mXEN/10000 |          244.25 |      2486.42 |
|  587355 |  WMATIC/mXEN/10000 |            1.99 |      1476.23 |
|  564051 |  WMATIC/mXEN/10000 |          198.86 |       663.17 |
|  556983 | WMATIC/1INCH/10000 |           19.12 |       609.92 |
|  197188 |   WMATIC/PSP/10000 |            4.01 |       585.29 |
|  546658 |  WMATIC/SHIB/10000 |            1.35 |       416.19 |
|  540975 |   WMATIC/PYR/10000 |          123.44 |       412.69 |
|  575558 |  WMATIC/mXEN/10000 |           89.57 |       412.42 |
|  563332 |   WMATIC/BCT/10000 |            5.78 |       402.49 |
|  486426 |  WMATIC/DYDX/10000 |            6.99 |       370.83 |
|  597460 |  WMATIC/mXEN/10000 |           12.52 |       356.41 |
|  564029 |  WMATIC/UNIM/10000 |          248.99 |       311.99 |
|  523762 |   WMATIC/STG/10000 |           50.55 |       299.14 |
|  587395 |  WMATIC/DIMO/10000 |          270.18 |       289.87 |
|  562980 |  SUSHI/WMATIC/3000 |            1.05 |       265.50 |
|  564687 |   WMATIC/MANA/3000 |           95.67 |       254.99 |
|  563013 |  WMATIC/IDEX/10000 |            1.34 |       253.91 |
|  555319 |   WMATIC/GNS/10000 |          111.20 |       235.74 |
|  564201 |  WMATIC/QUICK/3000 |            1.02 |       235.46 |
|  566447 |   WMATIC/RBW/10000 |          277.19 |       231.13 |
|  562994 |    WMATIC/SNX/3000 |            1.57 |       229.21 |
|  562983 |   WMATIC/GRT/10000 |            1.02 |       218.65 |
|  546282 |   WMATIC/TEL/10000 |           10.05 |       215.06 |
|  261737 |    WMATIC/USDC/500 |           47.05 |       212.92 |
|  597623 |  WMATIC/mXEN/10000 |            2.07 |       212.09 |
|  560025 |  WMATIC/mXEN/10000 |            5.47 |       209.48 |
|  562031 |   WMATIC/GNS/10000 |          249.17 |       205.52 |
|  505706 |  WMATIC/RNDR/10000 |           87.40 |       202.28 |
|  599810 |  WMATIC/mXEN/10000 |          103.86 |       199.79 |
|  559642 | WMATIC/BLANK/10000 |          130.35 |       197.63 |
|  563001 |   WMATIC/MANA/3000 |            0.26 |       194.02 |
|  563342 |   WMATIC/AAVE/3000 |          174.96 |       193.25 |
|  563337 |  SUSHI/WMATIC/3000 |            6.96 |       186.75 |
|  558221 |  WMATIC/RNDR/10000 |         1310.08 |       182.50 |
|  571237 |    WMATIC/LDO/3000 |            1.09 |       180.89 |
|  284338 |    WMATIC/USDC/500 |           60.60 |       180.36 |
|  562675 |   WMATIC/GNS/10000 |            2.78 |       178.04 |
|  488444 |    WMATIC/GNS/3000 |           23.83 |       177.77 |
|  556543 |   WMATIC/GNS/10000 |          209.98 |       168.01 |
|  576408 |    WMATIC/USDC/500 |           26.49 |       163.12 |
|  563048 |    WMATIC/MVX/3000 |           38.69 |       158.28 |
|  562250 |   WMATIC/GNS/10000 |           23.05 |       158.24 |
|  562254 |    WMATIC/GNS/3000 |           13.23 |       156.90 |
|  565083 |    WMATIC/GNS/3000 |           72.48 |       156.56 |
|  554966 |    WMATIC/USDT/500 |         1286.86 |       155.45 |
|  561927 |    WMATIC/APE/3000 |            4.82 |       154.32 |
|  562601 |   WMATIC/GNS/10000 |           11.56 |       152.43 |
|  563191 |    WMATIC/GNS/3000 |            3.01 |       150.71 |
|  562343 |    WMATIC/GNS/3000 |          696.03 |       149.99 |
"><code><span class="hljs-operator">|</span> :nft<span class="hljs-operator">-</span>id <span class="hljs-operator">|</span>              :pair <span class="hljs-operator">|</span> :amount<span class="hljs-operator">-</span>rewards <span class="hljs-operator">|</span> :rewards<span class="hljs-operator">-</span>apr <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">+</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">+</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">+</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">558037</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>mXEN<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">142.04</span> <span class="hljs-operator">|</span>      <span class="hljs-number">2605.60</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">552993</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>mXEN<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">244.25</span> <span class="hljs-operator">|</span>      <span class="hljs-number">2486.42</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">587355</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>mXEN<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.99</span> <span class="hljs-operator">|</span>      <span class="hljs-number">1476.23</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">564051</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>mXEN<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">198.86</span> <span class="hljs-operator">|</span>       <span class="hljs-number">663.17</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">556983</span> <span class="hljs-operator">|</span> WMATIC<span class="hljs-operator">/</span>1INCH<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">19.12</span> <span class="hljs-operator">|</span>       <span class="hljs-number">609.92</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">197188</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>PSP<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">4.01</span> <span class="hljs-operator">|</span>       <span class="hljs-number">585.29</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">546658</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>SHIB<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.35</span> <span class="hljs-operator">|</span>       <span class="hljs-number">416.19</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">540975</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>PYR<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">123.44</span> <span class="hljs-operator">|</span>       <span class="hljs-number">412.69</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">575558</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>mXEN<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">89.57</span> <span class="hljs-operator">|</span>       <span class="hljs-number">412.42</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">563332</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>BCT<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">5.78</span> <span class="hljs-operator">|</span>       <span class="hljs-number">402.49</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">486426</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>DYDX<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">6.99</span> <span class="hljs-operator">|</span>       <span class="hljs-number">370.83</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">597460</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>mXEN<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">12.52</span> <span class="hljs-operator">|</span>       <span class="hljs-number">356.41</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">564029</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>UNIM<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">248.99</span> <span class="hljs-operator">|</span>       <span class="hljs-number">311.99</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">523762</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>STG<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">50.55</span> <span class="hljs-operator">|</span>       <span class="hljs-number">299.14</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">587395</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>DIMO<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">270.18</span> <span class="hljs-operator">|</span>       <span class="hljs-number">289.87</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562980</span> <span class="hljs-operator">|</span>  SUSHI<span class="hljs-operator">/</span>WMATIC<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.05</span> <span class="hljs-operator">|</span>       <span class="hljs-number">265.50</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">564687</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>MANA<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">95.67</span> <span class="hljs-operator">|</span>       <span class="hljs-number">254.99</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">563013</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>IDEX<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.34</span> <span class="hljs-operator">|</span>       <span class="hljs-number">253.91</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">555319</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">111.20</span> <span class="hljs-operator">|</span>       <span class="hljs-number">235.74</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">564201</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>QUICK<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.02</span> <span class="hljs-operator">|</span>       <span class="hljs-number">235.46</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">566447</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>RBW<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">277.19</span> <span class="hljs-operator">|</span>       <span class="hljs-number">231.13</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562994</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>SNX<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.57</span> <span class="hljs-operator">|</span>       <span class="hljs-number">229.21</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562983</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GRT<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.02</span> <span class="hljs-operator">|</span>       <span class="hljs-number">218.65</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">546282</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>TEL<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">10.05</span> <span class="hljs-operator">|</span>       <span class="hljs-number">215.06</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">261737</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>           <span class="hljs-number">47.05</span> <span class="hljs-operator">|</span>       <span class="hljs-number">212.92</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">597623</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>mXEN<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">2.07</span> <span class="hljs-operator">|</span>       <span class="hljs-number">212.09</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">560025</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>mXEN<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">5.47</span> <span class="hljs-operator">|</span>       <span class="hljs-number">209.48</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562031</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">249.17</span> <span class="hljs-operator">|</span>       <span class="hljs-number">205.52</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">505706</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>RNDR<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">87.40</span> <span class="hljs-operator">|</span>       <span class="hljs-number">202.28</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">599810</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>mXEN<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">103.86</span> <span class="hljs-operator">|</span>       <span class="hljs-number">199.79</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">559642</span> <span class="hljs-operator">|</span> WMATIC<span class="hljs-operator">/</span>BLANK<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">130.35</span> <span class="hljs-operator">|</span>       <span class="hljs-number">197.63</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">563001</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>MANA<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">0</span><span class="hljs-number">.26</span> <span class="hljs-operator">|</span>       <span class="hljs-number">194.02</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">563342</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>AAVE<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">174.96</span> <span class="hljs-operator">|</span>       <span class="hljs-number">193.25</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">563337</span> <span class="hljs-operator">|</span>  SUSHI<span class="hljs-operator">/</span>WMATIC<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">6.96</span> <span class="hljs-operator">|</span>       <span class="hljs-number">186.75</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">558221</span> <span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>RNDR<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1310.08</span> <span class="hljs-operator">|</span>       <span class="hljs-number">182.50</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">571237</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>LDO<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.09</span> <span class="hljs-operator">|</span>       <span class="hljs-number">180.89</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">284338</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>           <span class="hljs-number">60.60</span> <span class="hljs-operator">|</span>       <span class="hljs-number">180.36</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562675</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">2.78</span> <span class="hljs-operator">|</span>       <span class="hljs-number">178.04</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">488444</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">23.83</span> <span class="hljs-operator">|</span>       <span class="hljs-number">177.77</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">556543</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">209.98</span> <span class="hljs-operator">|</span>       <span class="hljs-number">168.01</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">576408</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>           <span class="hljs-number">26.49</span> <span class="hljs-operator">|</span>       <span class="hljs-number">163.12</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">563048</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>MVX<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">38.69</span> <span class="hljs-operator">|</span>       <span class="hljs-number">158.28</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562250</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">23.05</span> <span class="hljs-operator">|</span>       <span class="hljs-number">158.24</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562254</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">13.23</span> <span class="hljs-operator">|</span>       <span class="hljs-number">156.90</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">565083</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">72.48</span> <span class="hljs-operator">|</span>       <span class="hljs-number">156.56</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">554966</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>USDT<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1286.86</span> <span class="hljs-operator">|</span>       <span class="hljs-number">155.45</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">561927</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>APE<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">4.82</span> <span class="hljs-operator">|</span>       <span class="hljs-number">154.32</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562601</span> <span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">11.56</span> <span class="hljs-operator">|</span>       <span class="hljs-number">152.43</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">563191</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">3.01</span> <span class="hljs-operator">|</span>       <span class="hljs-number">150.71</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  <span class="hljs-number">562343</span> <span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">696.03</span> <span class="hljs-operator">|</span>       <span class="hljs-number">149.99</span> <span class="hljs-operator">|</span>
</code></pre><h2 id="h-top-pools" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Top Pools</h2><p>Another useful and highly-requested way to group position data is to segment by pools.  This allows us to view   top pools by amount of rewards received, and also by the aggregated rewards APR for each pool.</p><h3 id="h-top-50-pools-by-rewards-received" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Top 50 pools by rewards received</h3><pre data-type="codeBlock" text="|              :pair | :amount-rewards | :rewards-apr |
|--------------------+-----------------+--------------|
|    WMATIC/USDC/500 |        61353.12 |        31.14 |
|    WMATIC/GNS/3000 |        19200.67 |        79.36 |
|    WMATIC/LDO/3000 |        15879.91 |        76.88 |
|    WMATIC/USDT/500 |        13138.92 |        20.15 |
|    WMATIC/WETH/500 |        12908.73 |        18.21 |
|   WMATIC/WETH/3000 |         8340.77 |        19.60 |
|   WMATIC/USDC/3000 |         3204.71 |        37.29 |
|   WMATIC/LINK/3000 |         3094.45 |        38.17 |
|     WMATIC/BOB/500 |         2398.73 |        50.84 |
|   WMATIC/SAND/3000 |         2095.29 |        28.65 |
|  WMATIC/RNDR/10000 |         1692.01 |       159.96 |
|   WMATIC/GNS/10000 |         1255.51 |        40.61 |
|   WMATIC/AAVE/3000 |         1100.52 |        36.93 |
|  SUSHI/WMATIC/3000 |          824.74 |        21.15 |
|  WMATIC/mXEN/10000 |          803.52 |       602.51 |
|   WMATIC/WBTC/3000 |          514.26 |        19.86 |
|   WMATIC/RBW/10000 |          277.19 |       231.13 |
|  WMATIC/DIMO/10000 |          270.18 |       289.87 |
|   WMATIC/PYR/10000 |          262.59 |       108.89 |
|  WMATIC/UNIM/10000 |          248.99 |       311.99 |
|   WMATIC/PSP/10000 |          141.29 |        70.45 |
| WMATIC/BLANK/10000 |          130.35 |       197.63 |
|   WMATIC/MANA/3000 |          112.85 |        40.36 |
|    WMATIC/UNI/3000 |          108.85 |         5.06 |
|    WMATIC/CRV/3000 |          108.22 |        12.68 |
|    WMATIC/LINK/500 |           83.12 |        29.38 |
|  WMATIC/CPLE/10000 |           82.19 |        71.12 |
|    WMATIC/DAI/3000 |           71.80 |        59.71 |
|   WMATIC/STG/10000 |           50.55 |       180.83 |
|   WMATIC/BNB/10000 |           50.29 |        14.56 |
|    WMATIC/MVX/3000 |           38.69 |       158.28 |
|   WMATIC/BAL/10000 |           22.43 |        19.90 |
| WMATIC/1INCH/10000 |           19.12 |       609.92 |
|    WMATIC/WETH/100 |           16.35 |         6.53 |
|    WMATIC/APE/3000 |           10.50 |        95.89 |
|   WMATIC/TEL/10000 |           10.26 |       207.25 |
|  WMATIC/QUICK/3000 |            8.88 |       114.77 |
|  WMATIC/ATOM/10000 |            8.67 |        12.41 |
|   WMATIC/USDT/3000 |            7.26 |        44.50 |
|  WMATIC/DYDX/10000 |            6.99 |       370.83 |
|    WMATIC/BAL/3000 |            6.96 |         4.65 |
|   WMATIC/BCT/10000 |            5.78 |       402.49 |
|  WMATIC/MaticX/500 |            5.64 |         4.22 |
| WMATIC/stMATIC/100 |            3.95 |         0.75 |
|  WMATIC/GHST/10000 |            3.88 |        10.64 |
|  WMATIC/MaticX/100 |            2.22 |         0.64 |
| WMATIC/0xBTC/10000 |            2.06 |       108.26 |
|  WMATIC/WBTC/10000 |            1.86 |         2.55 |
|  WMATIC/MASK/10000 |            1.76 |         6.87 |
|    WMATIC/SNX/3000 |            1.57 |       229.21 |
"><code><span class="hljs-operator">|</span>              :pair <span class="hljs-operator">|</span> :amount<span class="hljs-operator">-</span>rewards <span class="hljs-operator">|</span> :rewards<span class="hljs-operator">-</span>apr <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">+</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">+</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>        <span class="hljs-number">61353.12</span> <span class="hljs-operator">|</span>        <span class="hljs-number">31.14</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>        <span class="hljs-number">19200.67</span> <span class="hljs-operator">|</span>        <span class="hljs-number">79.36</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>LDO<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>        <span class="hljs-number">15879.91</span> <span class="hljs-operator">|</span>        <span class="hljs-number">76.88</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>USDT<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>        <span class="hljs-number">13138.92</span> <span class="hljs-operator">|</span>        <span class="hljs-number">20.15</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>        <span class="hljs-number">12908.73</span> <span class="hljs-operator">|</span>        <span class="hljs-number">18.21</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">8340.77</span> <span class="hljs-operator">|</span>        <span class="hljs-number">19.60</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">3204.71</span> <span class="hljs-operator">|</span>        <span class="hljs-number">37.29</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>LINK<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">3094.45</span> <span class="hljs-operator">|</span>        <span class="hljs-number">38.17</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>     WMATIC<span class="hljs-operator">/</span>BOB<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2398.73</span> <span class="hljs-operator">|</span>        <span class="hljs-number">50.84</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>SAND<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2095.29</span> <span class="hljs-operator">|</span>        <span class="hljs-number">28.65</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>RNDR<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1692.01</span> <span class="hljs-operator">|</span>       <span class="hljs-number">159.96</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1255.51</span> <span class="hljs-operator">|</span>        <span class="hljs-number">40.61</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>AAVE<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1100.52</span> <span class="hljs-operator">|</span>        <span class="hljs-number">36.93</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  SUSHI<span class="hljs-operator">/</span>WMATIC<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">824.74</span> <span class="hljs-operator">|</span>        <span class="hljs-number">21.15</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>mXEN<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">803.52</span> <span class="hljs-operator">|</span>       <span class="hljs-number">602.51</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>WBTC<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">514.26</span> <span class="hljs-operator">|</span>        <span class="hljs-number">19.86</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>RBW<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">277.19</span> <span class="hljs-operator">|</span>       <span class="hljs-number">231.13</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>DIMO<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">270.18</span> <span class="hljs-operator">|</span>       <span class="hljs-number">289.87</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>PYR<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">262.59</span> <span class="hljs-operator">|</span>       <span class="hljs-number">108.89</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>UNIM<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">248.99</span> <span class="hljs-operator">|</span>       <span class="hljs-number">311.99</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>PSP<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">141.29</span> <span class="hljs-operator">|</span>        <span class="hljs-number">70.45</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> WMATIC<span class="hljs-operator">/</span>BLANK<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">130.35</span> <span class="hljs-operator">|</span>       <span class="hljs-number">197.63</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>MANA<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">112.85</span> <span class="hljs-operator">|</span>        <span class="hljs-number">40.36</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>UNI<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">108.85</span> <span class="hljs-operator">|</span>         <span class="hljs-number">5.06</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>CRV<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">108.22</span> <span class="hljs-operator">|</span>        <span class="hljs-number">12.68</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>LINK<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>           <span class="hljs-number">83.12</span> <span class="hljs-operator">|</span>        <span class="hljs-number">29.38</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>CPLE<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">82.19</span> <span class="hljs-operator">|</span>        <span class="hljs-number">71.12</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>DAI<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">71.80</span> <span class="hljs-operator">|</span>        <span class="hljs-number">59.71</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>STG<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">50.55</span> <span class="hljs-operator">|</span>       <span class="hljs-number">180.83</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>BNB<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">50.29</span> <span class="hljs-operator">|</span>        <span class="hljs-number">14.56</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>MVX<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">38.69</span> <span class="hljs-operator">|</span>       <span class="hljs-number">158.28</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>BAL<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">22.43</span> <span class="hljs-operator">|</span>        <span class="hljs-number">19.90</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> WMATIC<span class="hljs-operator">/</span>1INCH<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">19.12</span> <span class="hljs-operator">|</span>       <span class="hljs-number">609.92</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">100</span> <span class="hljs-operator">|</span>           <span class="hljs-number">16.35</span> <span class="hljs-operator">|</span>         <span class="hljs-number">6.53</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>APE<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">10.50</span> <span class="hljs-operator">|</span>        <span class="hljs-number">95.89</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>TEL<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">10.26</span> <span class="hljs-operator">|</span>       <span class="hljs-number">207.25</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>QUICK<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">8.88</span> <span class="hljs-operator">|</span>       <span class="hljs-number">114.77</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>ATOM<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">8.67</span> <span class="hljs-operator">|</span>        <span class="hljs-number">12.41</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDT<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">7.26</span> <span class="hljs-operator">|</span>        <span class="hljs-number">44.50</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>DYDX<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">6.99</span> <span class="hljs-operator">|</span>       <span class="hljs-number">370.83</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>BAL<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">6.96</span> <span class="hljs-operator">|</span>         <span class="hljs-number">4.65</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>BCT<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">5.78</span> <span class="hljs-operator">|</span>       <span class="hljs-number">402.49</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>MaticX<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>            <span class="hljs-number">5.64</span> <span class="hljs-operator">|</span>         <span class="hljs-number">4.22</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> WMATIC<span class="hljs-operator">/</span>stMATIC<span class="hljs-operator">/</span><span class="hljs-number">100</span> <span class="hljs-operator">|</span>            <span class="hljs-number">3.95</span> <span class="hljs-operator">|</span>         <span class="hljs-number">0</span><span class="hljs-number">.75</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>GHST<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">3.88</span> <span class="hljs-operator">|</span>        <span class="hljs-number">10.64</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>MaticX<span class="hljs-operator">/</span><span class="hljs-number">100</span> <span class="hljs-operator">|</span>            <span class="hljs-number">2.22</span> <span class="hljs-operator">|</span>         <span class="hljs-number">0</span><span class="hljs-number">.64</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> WMATIC<span class="hljs-operator">/</span>0xBTC<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">2.06</span> <span class="hljs-operator">|</span>       <span class="hljs-number">108.26</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>WBTC<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.86</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2.55</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>MASK<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.76</span> <span class="hljs-operator">|</span>         <span class="hljs-number">6.87</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>SNX<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.57</span> <span class="hljs-operator">|</span>       <span class="hljs-number">229.21</span> <span class="hljs-operator">|</span>
</code></pre><h3 id="h-top-50-pools-by-rewards-apr" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Top 50 pools by rewards APR</h3><pre data-type="codeBlock" text="|              :pair | :amount-rewards | :rewards-apr |
|--------------------+-----------------+--------------|
| WMATIC/1INCH/10000 |           19.12 |       609.92 |
|  WMATIC/mXEN/10000 |          803.52 |       602.51 |
|  WMATIC/SHIB/10000 |            1.35 |       416.19 |
|   WMATIC/BCT/10000 |            5.78 |       402.49 |
|  WMATIC/DYDX/10000 |            6.99 |       370.83 |
|  WMATIC/UNIM/10000 |          248.99 |       311.99 |
|  WMATIC/DIMO/10000 |          270.18 |       289.87 |
|  WMATIC/IDEX/10000 |            1.34 |       253.91 |
|   WMATIC/RBW/10000 |          277.19 |       231.13 |
|    WMATIC/SNX/3000 |            1.57 |       229.21 |
|   WMATIC/TEL/10000 |           10.26 |       207.25 |
| WMATIC/BLANK/10000 |          130.35 |       197.63 |
|   WMATIC/STG/10000 |           50.55 |       180.83 |
|  WMATIC/RNDR/10000 |         1692.01 |       159.96 |
|    WMATIC/MVX/3000 |           38.69 |       158.28 |
|  WMATIC/QUICK/3000 |            8.88 |       114.77 |
|   WMATIC/PYR/10000 |          262.59 |       108.89 |
| WMATIC/0xBTC/10000 |            2.06 |       108.26 |
|   WMATIC/GRT/10000 |            1.22 |        98.77 |
|    WMATIC/APE/3000 |           10.50 |        95.89 |
|    WMATIC/GNS/3000 |        19200.67 |        79.36 |
|    WMATIC/LDO/3000 |        15879.91 |        76.88 |
|  WMATIC/CPLE/10000 |           82.19 |        71.12 |
|   WMATIC/PSP/10000 |          141.29 |        70.45 |
|    WMATIC/DAI/3000 |           71.80 |        59.71 |
|     WMATIC/BOB/500 |         2398.73 |        50.84 |
|   WMATIC/USDT/3000 |            7.26 |        44.50 |
|   WMATIC/GNS/10000 |         1255.51 |        40.61 |
|   WMATIC/MANA/3000 |          112.85 |        40.36 |
|   WMATIC/LINK/3000 |         3094.45 |        38.17 |
|   WMATIC/USDC/3000 |         3204.71 |        37.29 |
|   WMATIC/AAVE/3000 |         1100.52 |        36.93 |
|     WMATIC/DAI/500 |            0.87 |        36.56 |
|    WMATIC/MTA/3000 |            0.04 |        35.88 |
|    WMATIC/USDC/500 |        61353.12 |        31.14 |
|    WMATIC/LINK/500 |           83.12 |        29.38 |
|   WMATIC/SAND/3000 |         2095.29 |        28.65 |
|  SUSHI/WMATIC/3000 |          824.74 |        21.15 |
|    WMATIC/USDT/500 |        13138.92 |        20.15 |
|   WMATIC/BAL/10000 |           22.43 |        19.90 |
|   WMATIC/WBTC/3000 |          514.26 |        19.86 |
|   WMATIC/WETH/3000 |         8340.77 |        19.60 |
|   WMATIC/PAXG/3000 |            0.30 |        19.57 |
|    WMATIC/WETH/500 |        12908.73 |        18.21 |
|   WMATIC/DAI/10000 |            0.03 |        17.53 |
|   WMATIC/BNB/10000 |           50.29 |        14.56 |
|    WMATIC/CRV/3000 |          108.22 |        12.68 |
|  WMATIC/ATOM/10000 |            8.67 |        12.41 |
|  WMATIC/GHST/10000 |            3.88 |        10.64 |
| WMATIC/stMATIC/500 |            0.72 |         9.04 |
"><code><span class="hljs-operator">|</span>              :pair <span class="hljs-operator">|</span> :amount<span class="hljs-operator">-</span>rewards <span class="hljs-operator">|</span> :rewards<span class="hljs-operator">-</span>apr <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">+</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">+</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> WMATIC<span class="hljs-operator">/</span>1INCH<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">19.12</span> <span class="hljs-operator">|</span>       <span class="hljs-number">609.92</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>mXEN<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">803.52</span> <span class="hljs-operator">|</span>       <span class="hljs-number">602.51</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>SHIB<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.35</span> <span class="hljs-operator">|</span>       <span class="hljs-number">416.19</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>BCT<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">5.78</span> <span class="hljs-operator">|</span>       <span class="hljs-number">402.49</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>DYDX<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">6.99</span> <span class="hljs-operator">|</span>       <span class="hljs-number">370.83</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>UNIM<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">248.99</span> <span class="hljs-operator">|</span>       <span class="hljs-number">311.99</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>DIMO<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">270.18</span> <span class="hljs-operator">|</span>       <span class="hljs-number">289.87</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>IDEX<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.34</span> <span class="hljs-operator">|</span>       <span class="hljs-number">253.91</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>RBW<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">277.19</span> <span class="hljs-operator">|</span>       <span class="hljs-number">231.13</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>SNX<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.57</span> <span class="hljs-operator">|</span>       <span class="hljs-number">229.21</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>TEL<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">10.26</span> <span class="hljs-operator">|</span>       <span class="hljs-number">207.25</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> WMATIC<span class="hljs-operator">/</span>BLANK<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">130.35</span> <span class="hljs-operator">|</span>       <span class="hljs-number">197.63</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>STG<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">50.55</span> <span class="hljs-operator">|</span>       <span class="hljs-number">180.83</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>RNDR<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1692.01</span> <span class="hljs-operator">|</span>       <span class="hljs-number">159.96</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>MVX<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">38.69</span> <span class="hljs-operator">|</span>       <span class="hljs-number">158.28</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>QUICK<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">8.88</span> <span class="hljs-operator">|</span>       <span class="hljs-number">114.77</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>PYR<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">262.59</span> <span class="hljs-operator">|</span>       <span class="hljs-number">108.89</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> WMATIC<span class="hljs-operator">/</span>0xBTC<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">2.06</span> <span class="hljs-operator">|</span>       <span class="hljs-number">108.26</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GRT<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">1.22</span> <span class="hljs-operator">|</span>        <span class="hljs-number">98.77</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>APE<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">10.50</span> <span class="hljs-operator">|</span>        <span class="hljs-number">95.89</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>        <span class="hljs-number">19200.67</span> <span class="hljs-operator">|</span>        <span class="hljs-number">79.36</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>LDO<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>        <span class="hljs-number">15879.91</span> <span class="hljs-operator">|</span>        <span class="hljs-number">76.88</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>CPLE<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">82.19</span> <span class="hljs-operator">|</span>        <span class="hljs-number">71.12</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>PSP<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">141.29</span> <span class="hljs-operator">|</span>        <span class="hljs-number">70.45</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>DAI<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">71.80</span> <span class="hljs-operator">|</span>        <span class="hljs-number">59.71</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>     WMATIC<span class="hljs-operator">/</span>BOB<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2398.73</span> <span class="hljs-operator">|</span>        <span class="hljs-number">50.84</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDT<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">7.26</span> <span class="hljs-operator">|</span>        <span class="hljs-number">44.50</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>GNS<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1255.51</span> <span class="hljs-operator">|</span>        <span class="hljs-number">40.61</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>MANA<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">112.85</span> <span class="hljs-operator">|</span>        <span class="hljs-number">40.36</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>LINK<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">3094.45</span> <span class="hljs-operator">|</span>        <span class="hljs-number">38.17</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">3204.71</span> <span class="hljs-operator">|</span>        <span class="hljs-number">37.29</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>AAVE<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">1100.52</span> <span class="hljs-operator">|</span>        <span class="hljs-number">36.93</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>     WMATIC<span class="hljs-operator">/</span>DAI<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>            <span class="hljs-number">0</span><span class="hljs-number">.87</span> <span class="hljs-operator">|</span>        <span class="hljs-number">36.56</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>MTA<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">0</span><span class="hljs-number">.04</span> <span class="hljs-operator">|</span>        <span class="hljs-number">35.88</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>USDC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>        <span class="hljs-number">61353.12</span> <span class="hljs-operator">|</span>        <span class="hljs-number">31.14</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>LINK<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>           <span class="hljs-number">83.12</span> <span class="hljs-operator">|</span>        <span class="hljs-number">29.38</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>SAND<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">2095.29</span> <span class="hljs-operator">|</span>        <span class="hljs-number">28.65</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  SUSHI<span class="hljs-operator">/</span>WMATIC<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">824.74</span> <span class="hljs-operator">|</span>        <span class="hljs-number">21.15</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>USDT<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>        <span class="hljs-number">13138.92</span> <span class="hljs-operator">|</span>        <span class="hljs-number">20.15</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>BAL<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">22.43</span> <span class="hljs-operator">|</span>        <span class="hljs-number">19.90</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>WBTC<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">514.26</span> <span class="hljs-operator">|</span>        <span class="hljs-number">19.86</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>         <span class="hljs-number">8340.77</span> <span class="hljs-operator">|</span>        <span class="hljs-number">19.60</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>PAXG<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">0</span><span class="hljs-number">.30</span> <span class="hljs-operator">|</span>        <span class="hljs-number">19.57</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>WETH<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>        <span class="hljs-number">12908.73</span> <span class="hljs-operator">|</span>        <span class="hljs-number">18.21</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>DAI<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">0</span><span class="hljs-number">.03</span> <span class="hljs-operator">|</span>        <span class="hljs-number">17.53</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>   WMATIC<span class="hljs-operator">/</span>BNB<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>           <span class="hljs-number">50.29</span> <span class="hljs-operator">|</span>        <span class="hljs-number">14.56</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>    WMATIC<span class="hljs-operator">/</span>CRV<span class="hljs-operator">/</span><span class="hljs-number">3000</span> <span class="hljs-operator">|</span>          <span class="hljs-number">108.22</span> <span class="hljs-operator">|</span>        <span class="hljs-number">12.68</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>ATOM<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">8.67</span> <span class="hljs-operator">|</span>        <span class="hljs-number">12.41</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span>  WMATIC<span class="hljs-operator">/</span>GHST<span class="hljs-operator">/</span><span class="hljs-number">10000</span> <span class="hljs-operator">|</span>            <span class="hljs-number">3.88</span> <span class="hljs-operator">|</span>        <span class="hljs-number">10.64</span> <span class="hljs-operator">|</span>
<span class="hljs-operator">|</span> WMATIC<span class="hljs-operator">/</span>stMATIC<span class="hljs-operator">/</span><span class="hljs-number">500</span> <span class="hljs-operator">|</span>            <span class="hljs-number">0</span><span class="hljs-number">.72</span> <span class="hljs-operator">|</span>         <span class="hljs-number">9.04</span> <span class="hljs-operator">|</span>
</code></pre><p>The top performers of the largest pools seem to be: GNS,LDO, and USDC, all paired with MATIC</p><p>To recap:</p><ul><li><p>The 4-week incentives program concluded with 150K MATIC being distributed to over 600 accounts, a majority going to positions created in time for the incentives program.</p></li><li><p>Compoundor TVL accelerated it&apos;s growth from 250K to 1.25m.</p></li><li><p>The &quot;in-range&quot; vesting period worked in preventing ultra-concentrated liquidity from being the dominating strategy and instead rewards were distributed to a variety of position ranges and pools.</p><p>We hope to run more experiments like this one, and one very clear opportunity for improvement is in making the migration of LP positions between chains as effortless as possible. Stay tuned.</p></li></ul>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[150K MATIC accelerating Compoundor growth on Polygon]]></title>
            <link>https://paragraph.com/@revertfinance/150k-matic-accelerating-compoundor-growth-on-polygon</link>
            <guid>7pzkSXDELJn5lK4FSWaQ</guid>
            <pubDate>Mon, 05 Dec 2022 23:20:41 GMT</pubDate>
            <description><![CDATA[Over the next four weeks, we&apos;ll be distributing a total of 150,000 MATIC to incentivize the growth of auto-compounding and Uniswap v3 liquidity on Polygon. The full reward amount will be distributed and claimable at the end of the incentives period via a Merkle distributor contract. We&apos;ll use the value of accrued fees by each position to determine their pro-rata share of the rewards. To avoid gaming of liquidity incentives, there will be a 5-day vesting period where the position mus...]]></description>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6a2e88861394ae9ad978ab4941926046147b4af4868951916adafb7450bfb251.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Over the next four weeks, we&apos;ll be distributing a total of <strong>150,000 MATIC</strong> to incentivize the growth of auto-compounding and Uniswap v3 liquidity on <strong>Polygon</strong>.</p><p>The full reward amount will be distributed and claimable at the end of the incentives period via a Merkle distributor contract. We&apos;ll use the value of accrued fees by each position to determine their pro-rata share of the rewards. To avoid gaming of liquidity incentives, there will be a 5-day vesting period where the position must remain in-range to receive the full rewards. The complete parameters and script will be published at the end of the incentives period. Our goal is to accelerate the growth of long-term liquidity on Polygon MATIC pairs.</p><p>The incentives period starts on <strong><em>December 7th 00:00 UTC</em></strong> and runs through J<strong><em>anuary 4th 00:00 UTC</em></strong>. A total of 150,000 MATIC will be distributed during this time. The minimum vesting time for positions during the incentives period will be 5 days.</p><p>This may be a bit confusing given other running incentives programs, so to clarify:</p><ul><li><p>150K MATIC is being distributed via the v3 staker to selected pools. You can still get full vesting. Visit <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://v3staker.revert.finance/">https://v3staker.revert.finance</a> for more info.</p></li><li><p>150K MATIC will be distributed to all auto-compounding positions on MATIC pairs starting this Wednsesday.</p></li></ul><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/22fb5a77c0be95d19a9a3967bc4cdc899b02957d27b61cb9f93226622605b8eb.png" alt="Breakdown of reward programs on Polygon" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Breakdown of reward programs on Polygon</figcaption></figure><p>To read more about the criteria for the incentives program, and step by step tutorials on how to participate and start earning MATIC head over to the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/optimism-incentives">mini-site</a>.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[150,000 MATIC Rewards for LPs on the time-vested v3 staker]]></title>
            <link>https://paragraph.com/@revertfinance/150-000-matic-rewards-for-lps-on-the-time-vested-v3-staker</link>
            <guid>SI2DraZwJ2w0nTbYXZsb</guid>
            <pubDate>Tue, 22 Nov 2022 23:24:54 GMT</pubDate>
            <description><![CDATA[A couple of months ago we wrote about a fork to the Uniswap v3 staker, we had been working on, that allows for incentives program creators to add a vesting period in which positions must remain in-range to receive the full amount of rewards accrued. In summary, the point of doing this is to avoid automated ultra-concentrated strategies from dominating and taking most of the rewards by deploying positions that would otherwise be unprofitable. During the next 28 days we will be distributing 150...]]></description>
            <content:encoded><![CDATA[<p>A couple of months ago <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/revertfinance.eth/pUufXuRkUHjrV_oq0bq2sunvQ0hz7u529jWDKlQnm-Q">we wrote</a> about a fork to the Uniswap v3 staker, we had been working on, that allows for incentives program creators to add a vesting period in which positions must remain in-range to receive the full amount of rewards accrued. In summary, the point of doing this is to avoid automated ultra-concentrated strategies from dominating and taking most of the rewards by deploying positions that would otherwise be unprofitable.</p><p>During the next 28 days we will be distributing 150,000 MATIC, kindly sent over by the folks at Polygon, as staking rewards for 8 selected Uniswap pools on Polygon, pictured below.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/929aa2f917ef5bb87b437df2c4e8c06156c142de45e4822607aec63bc431bfac.jpg" alt="revert v3staker" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">revert v3staker</figcaption></figure><p>The purpose of this, aside from incentivizing liquidity for the selected pools, is to a primary test of the above described vesting mechanism, as well as test the UI for a dapp which will be open sourcing soon, currently deployed at <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://v3staker.revert.finance/">v3staker.revert.finance</a></p><p>The dapp allows anyone to stake or unstake positions, as well as create incentives program for any deployed Uniswap v3 pool.</p><h2 id="h-how-to-stake" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How to Stake</h2><h3 id="h-from-the-dapp" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">From the dAPP</h3><ol><li><p>Create (or you may already have) a position in one of the incentivized pools</p></li><li><p>Go to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://v3staker.revert.finance/#/running-incentives">v3staker.revert.finance</a></p></li><li><p>Connect your wallet</p></li><li><p>Follow the on-screen instructions to stake your position</p></li><li><p>You can unstake any time you like, but unvested rewards are forever lost.</p></li></ol><h3 id="h-from-your-revert-dashboard" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">From your Revert Dashboard</h3><p>You can also stake or unstake, as you usually would, via your revert position dashboard.</p><ol><li><p>Create (or you may already have) a position in one of the incentivized pools</p></li><li><p>Go to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/">revert.finance</a></p></li><li><p>Connect your wallet</p></li><li><p>Follow the on-screen instructions to stake your position</p></li><li><p>You can unstake any time you like, but unvested rewards are gone, forever.</p></li></ol><h2 id="h-how-to-create-incentives-programs" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How to Create Incentives Programs</h2><p>Anyone can create incentives programs by interacting with the deployed smart contract directly, the incentives programs are permissionless and uncensorable.</p><p>For convenience we created a UI that helps with the incentive program creation process, check it out at</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://v3staker.revert.finance/#/create-incentive">https://v3staker.revert.finance/#/create-incentive</a></p><p>We hope that this app, along with the time-vesting mechanism for incentives, will be useful to other organizations that would want to incentivize liquidity in Uniswap v3 without requiring managers, intermediaries, or off-chain computation.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[240K OP accelarating Compoundor and Optimism
]]></title>
            <link>https://paragraph.com/@revertfinance/240k-op-accelarating-compoundor-and-optimism</link>
            <guid>Ei9ogDAETryvHFn48IRQ</guid>
            <pubDate>Thu, 03 Nov 2022 18:33:25 GMT</pubDate>
            <description><![CDATA[During the next few months we will be distributing 240,000 OP, received from the Optimism Collective, to incentivize the growth of the auto-compounder, and Uniswap v3 liquidity, on Optimism. The full reward amount will be distributed during three incentives periods, where the rewards are claimable at the end of each period via a Merkle distributor contract. We will use the value compounded by each position to determine their pro-rata portion of the rewards. To avoid gaming of liquidity incent...]]></description>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a615b3c324d81bac0869c7e29cf5402ef1535a97ea50e4618d4eaedce5e49e0a.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>During the next few months we will be distributing 240,000 OP, received from the Optimism Collective, to incentivize the growth of the auto-compounder, and Uniswap v3 liquidity, on Optimism.</p><p>The full reward amount will be distributed during three incentives periods, where the rewards are claimable at the end of each period via a Merkle distributor contract. We will use the value compounded by each position to determine their pro-rata portion of the rewards. To avoid gaming of liquidity incentives there will be a vesting period where the position has to be in-range to receive the full amount of rewards. Complete parameters and script will be published at the end of each incentives period, and they may change in subsequent periods. The goal here is to accelerate the growth of long term liquidity on Optimism.</p><p>The first incentives period starts on <strong>November 7th 00:00 UTC time trough November 28th 00:00 UTC time</strong> with <strong>60,000 OP to be distributed in these three weeks</strong>. The minimum vesting time for positions during this first incentives period will be 5 days.</p><p>The growth of Optimism is incredibly exciting for us in that it brings about interesting opportunities for LPs, but more so for LPs with smaller positions. We believe there are pretty well aligned incentives between the Compoundor and Optimism. Lower gas costs means that LP positions that are too small to compound profitably given mainnet gas costs can be profitably compounded on Optimism. So migrating these smaller positions to Optimism effectively increases the addressable market for the Compoundor. More generally, low gas costs make providing liquidity in AMM pools more accessible to a larger number of users, which in turn increases demand for powerful tools to understand and optimize the performance of these positions.</p><p>To read more about the criteria for the incentives program, and step by step tutorials on how to participate and start earning OPs head over to the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/optimism-incentives">mini-site</a>.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[Time-vesting with the Uniswap v3 staker]]></title>
            <link>https://paragraph.com/@revertfinance/time-vesting-with-the-uniswap-v3-staker</link>
            <guid>Hxz4AjWe69VWCzCdZ0YT</guid>
            <pubDate>Mon, 19 Sep 2022 15:40:37 GMT</pubDate>
            <description><![CDATA[While Uniswap v2 was prime farming land in the summer of 2020, incentivizing liquidity on Uniswap v3 has not yet taken off. In this article we will attempt to explain why that is the case and propose a solution. Incentivizing liquidity on Uniswap v3 is indeed possible and currently happening at very modest scales. You can see the currently running programs on Revert and stake any position in the incentivized pools. The contract in use for this purpose is the canonical Uniswap v3 Staker, which...]]></description>
            <content:encoded><![CDATA[<p><strong>While Uniswap v2 was prime farming land in the summer of 2020, incentivizing liquidity on Uniswap v3 has not yet taken off. In this article we will attempt to explain why that is the case and propose a solution.</strong></p><p>Incentivizing liquidity on Uniswap v3 is indeed possible and currently happening at very modest scales. You can see the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revert.finance/#/incentives">currently running programs on Revert</a> and stake any position in the incentivized pools. The contract in use for this purpose is the canonical <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/Uniswap/v3-staker">Uniswap v3 Staker,</a> which was launched in October 2021 and was used to great expectation by Ribbon in a short lived incentive program.</p><div data-type="embedly" src="https://twitter.com/0x7761676d69/status/1460919501428559879" data="{&quot;provider_url&quot;:&quot;https://x.com&quot;,&quot;title&quot;:&quot;JavaScript is not available.&quot;,&quot;url&quot;:&quot;https://x.com/0x7761676d69/status/1460919501428559879&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;X (formerly Twitter)&quot;,&quot;type&quot;:&quot;link&quot;}" format="small"></div><p>It is undeniable that the Ribbon program did successfully incentivize liquidity, as the chart in the tweet shows. The liquidity was, however, quite skewed towards the active tick. The dominating strategy, pictured below, consisted of:</p><ol><li><p>Depositing liquidity into the minimum possible range.</p></li><li><p>Exiting the position when it went out of range.</p></li><li><p>Selling the received rewards.</p></li><li><p>Swapping into a new minimum range position around the current price.</p></li></ol><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0776b36444feb322f515008db8ced365288728cdba305edd985243e935c6d951.png" alt="onetickdao.eth: 1,820,733 RBN claimed. 98% of positions at min range." blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">onetickdao.eth: 1,820,733 RBN claimed. 98% of positions at min range.</figcaption></figure><p>The program ended with 77% of the rewards going to just 14 accounts, all using this same strategy. It seems fair to say that the Ribbon community was not happy. We wrote about it at the time <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/@revert_finance/onetickdao-eth-and-the-narrow-rangers-f9a376f7f0c9">here</a>.</p><p>We believe that the current staker design, while undoubtedly successful at attracting liquidity, might do so with effects that are not always aligned with other goals the program creators might have, like maintaining a significant fraction of the liquidity in the pool after the incentive programs finish, distributing the rewards among a wide set of token holders, and attracting liquidity that is more widely distributed along the possible price range. The constant sell pressure created by the ultra-concentrated liquidity players was an additional point of concern with the Ribbon community. The problem has been <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gov.uniswap.org/t/temperature-check-should-uniswap-incentivize-liquidity-on-optimism-and-arbitrum/14804/32">previously discussed</a> in the Uniswap forum.</p><hr><p>Some weeks ago the Polygon DeFi team reached out to us, aware of the issues with the staker, and looking for an alternative solution to incentivize liquidity via individual LPs instead of liquidity managers or automated strategy operators, which seemed like a worthwhile challenge so we got to work.</p><p>An idea that had been suggested previously <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gov.uniswap.org/t/temperature-check-should-uniswap-incentivize-liquidity-on-optimism-and-arbitrum/14804/37">by Gui Lambert</a> and others is to add a minimum range for positions to be allowed to stake. Incentive program creators could set this parameter to a certain number of ticks and with this prevent ultra-concentrated positions from even participating in the incentives programs.</p><p>Another alternative, likely first suggested <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/Uniswap/v3-staker/issues/224">by Moody Salem</a> in the v3 staker github, consists of time-vesting the rewards for the running incentive programs. They could be vested just over a few days, which would have been enough to prevent the 1-tick strategy in the RBN pool as these positions were usually out of range a few times per day. The vesting period could also be set for the full length of the incentives program, which should incentivize even wider liquidity across the price range.</p><p>We also liked this idea in that it does not set an all-or-nothing cutoff by range, nor by timeframe. As the diagrams below shows, rewards can be vested linearly, while the position is in range, from the block it was staked until the vesting period is complete, or the position is unstaked.</p><p>To better illustrate the concept let’s plot two positions that stake on an incentives program that lasts 10 time steps, and has a vesting period of 6 time steps.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f77b9d8ae60b56fafc922003b9830a237a436026abc8ca6b3a35e3827afcbf8c.png" alt="A position&apos;s rewards vest while the price is within it&apos;s rage." blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">A position&apos;s rewards vest while the price is within it&apos;s rage.</figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4688d2c05a50d46cb0ce407f4f67458899291b78677b8aada42c9f58733767b3.png" alt="A too narrow-range position would be forced to exit with only a small fraction of their accrued rewards having been vested" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">A too narrow-range position would be forced to exit with only a small fraction of their accrued rewards having been vested</figcaption></figure><p>While the incentive rewards accrue proportional to <em>liquidity</em>, in the same way that trading fees do, the vested fraction increases linearly while the position is in range, which serves as a disincentive to positions that would stay in range for only small portions of the vesting period.</p><hr><p>We did a lil fork of the v3 staker implementing this idea which hopefully can be merged upstream. The most relevant section is perhaps the changes to RewardMath.sol’s <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/revert-finance/v3-staker/blob/main/contracts/libraries/RewardMath.sol#L39">computeRewardAmount function </a>where we use the pool’s current <strong><em>secondsInside</em></strong> for the staked position’s range, as well as the at the time the position was staked, to compute the portion of the staking period the position has kept in-range.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/8100c386384807c28db2f4909b1db419ba319ef670d2c6e322d4a627ecaa9fb9.png" alt="forked CompouteRewardAmount" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">forked CompouteRewardAmount</figcaption></figure><p>The forked contract has gone through an <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/peckshield/publications/blob/master/audit_reports/PeckShield-Audit-Report-Revert-v1.0.pdf">audit process</a> with PeckShield, which was generously sponsored by Polygon, and covered under the grant programme for building on top of Uniswap v3, of which this project is the first recipient. It has been <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygonscan.com/address/0x8c696def6db3104df72f7843730784460795659a#code">deployed</a> to the Polygon network and we are finishing up an open source UI for LPs stake/unstake positions and for DAOs to create incentives programs very easily.</p><p>We believe this new staker will provide DAOs, or any organization, a new way to incentivize liquidity on Uniswap v3, while allowing the rewards to be distributed more widely to LPing asset holders instead of to only a few automated strategy operators.</p><hr><p>Our mission is to build powerful tools for LPs in AMM protocols while keeping them open and accessible by everyone. You can support us <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://gitcoin.co/grants/2983/revert">here</a>.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
        <item>
            <title><![CDATA[Presenting the Revert Compoundor]]></title>
            <link>https://paragraph.com/@revertfinance/presenting-the-revert-compoundor</link>
            <guid>HxK2B0AlCkjlQLrkHPiq</guid>
            <pubDate>Mon, 18 Jul 2022 18:00:16 GMT</pubDate>
            <description><![CDATA[We’re excited about releasing a new feature today for Uniswap v3 Liquidity Providers: fee auto-compounding. We think this will be useful for LPs depending on how long they plan to hold positions and what they expect their Fee APR to be going forward. In Uniswap v3 compounding of fees does not occur automatically, as it does on its predecessor, and manual compounding of fees requires doing a few different contract interactions and calculations to:Collect fees via the Uniswap NFT Manager contra...]]></description>
            <content:encoded><![CDATA[<p>We’re excited about releasing a new feature today for Uniswap v3 Liquidity Providers: <strong>fee auto-compounding.</strong></p><p>We think this will be useful for LPs depending on how long they plan to hold positions and what they expect their <strong>Fee APR</strong> to be going forward.</p><p>In Uniswap v3 compounding of fees does not occur automatically, as it does on its predecessor, and manual compounding of fees requires doing a few different contract interactions and calculations to:</p><ol><li><p>Collect fees via the Uniswap NFT Manager contract.</p></li><li><p>Possibly check the amounts of token0 and token1 required to swap so as to maximize the amount of liquidity added to the position.</p></li><li><p>Possibly perform the required swap.</p></li><li><p>Add the tokens as liquidity to the position.</p></li></ol><p>Additionally because fees do not grow at a constant rate, and the cost of compounding is a multiple of the gas price, to compound optimally requires constant monitoring of a position.</p><p>Because gas prices determine the cost of compounding, the deployment of Uniswap v3 on low gas price chains means that a much larger proportion of positions would be optimally compounded a much greater number of times that on mainnet.</p><p>To automate the above process we are releasing a simple protocol: Revert Compoundor.</p><p>Positions managed by the Compoundor contract can be auto-compounded by anyone. The <strong><em>autoCompound</em></strong> function takes any uncollected fees for a position, optionally swaps them to a determined ratio given the position range and the current pool price, and adds it as liquidity to the position.</p><p>A small fraction of the <em>collected-and-compounded</em> fees are paid to the protocol and to compensate the accounts call the auto-compound function for their gas costs incurred. This performance fee is set to 2% on launch and by design can only be decreased, never increased.</p><p>Additionally once a position is added to the Compoundor protocol contract, the position owner is able to conveniently execute the <strong><em>autoCompound</em></strong> function at any time, in which case there are no fees charged aside from the regular gas costs of executing the call.</p><p>We are publishing a draft of a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://hackmd.io/@revert/BJcGIJQ35">whitepaper</a> that explains how the protocol works and how we are estimating the expected benefits of auto-compounding for any position.</p><p>Additionally the protocol contracts have had an open bug bounty on Immunefi since June 14th.</p><div data-type="embedly" src="https://github.com/revert-finance/compoundor" data="{&quot;provider_url&quot;:&quot;https://github.com&quot;,&quot;description&quot;:&quot;Contribute to revert-finance/compoundor development by creating an account on GitHub.&quot;,&quot;title&quot;:&quot;GitHub - revert-finance/compoundor&quot;,&quot;author_name&quot;:&quot;revert-finance&quot;,&quot;thumbnail_width&quot;:1200,&quot;url&quot;:&quot;https://github.com/revert-finance/compoundor&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/a6b21f71217f976131b2016b931e231fc96eb743289908c7aba233ac88622662.png&quot;,&quot;author_url&quot;:&quot;https://github.com/revert-finance&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;GitHub&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:600,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:600,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/a6b21f71217f976131b2016b931e231fc96eb743289908c7aba233ac88622662.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/a6b21f71217f976131b2016b931e231fc96eb743289908c7aba233ac88622662.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://github.com/revert-finance/compoundor" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>GitHub - revert-finance/compoundor</h2><p>Contribute to revert-finance/compoundor development by creating an account on GitHub.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://github.com</span></div><img src="https://storage.googleapis.com/papyrus_images/a6b21f71217f976131b2016b931e231fc96eb743289908c7aba233ac88622662.png"/></div></a></div></div><div data-type="embedly" src="https://immunefi.com/bounty/revert/" data="{&quot;provider_url&quot;:&quot;https://immunefi.com&quot;,&quot;description&quot;:&quot;Find bugs and vulnerabilities on Revert and get paid up to $100,000.&quot;,&quot;title&quot;:&quot;Revert Bug Bounties | Immunefi&quot;,&quot;mean_alpha&quot;:107.68015873,&quot;thumbnail_width&quot;:1200,&quot;url&quot;:&quot;https://immunefi.com/bug-bounty/revert/information/&quot;,&quot;thumbnail_url&quot;:&quot;https://storage.googleapis.com/papyrus_images/54af81db766550ef911c9c426e8ca5759a3afe33d5cdf015b79ecac40cdcb459.png&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;provider_name&quot;:&quot;Immunefi&quot;,&quot;type&quot;:&quot;link&quot;,&quot;thumbnail_height&quot;:630,&quot;image&quot;:{&quot;img&quot;:{&quot;width&quot;:1200,&quot;height&quot;:630,&quot;src&quot;:&quot;https://storage.googleapis.com/papyrus_images/54af81db766550ef911c9c426e8ca5759a3afe33d5cdf015b79ecac40cdcb459.png&quot;}}}" format="small"><link rel="preload" as="image" href="https://storage.googleapis.com/papyrus_images/54af81db766550ef911c9c426e8ca5759a3afe33d5cdf015b79ecac40cdcb459.png"/><div class="react-component embed my-5" data-drag-handle="true" data-node-view-wrapper="" style="white-space:normal"><a class="link-embed-link" href="https://immunefi.com/bounty/revert/" target="_blank" rel="noreferrer"><div class="link-embed"><div class="flex-1"><div><h2>Revert Bug Bounties | Immunefi</h2><p>Find bugs and vulnerabilities on Revert and get paid up to $100,000.</p></div><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link h-3 w-3 my-auto inline mr-1"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>https://immunefi.com</span></div><img src="https://storage.googleapis.com/papyrus_images/54af81db766550ef911c9c426e8ca5759a3afe33d5cdf015b79ecac40cdcb459.png"/></div></a></div></div><p>To give it a try just visit your positions dashboard, and for any v3 position you will see a “Compound Fees” button at the bottom, by clicking on it a panel will expand that will show you the estimated benefits of auto-compounding your position given the current fee APRs.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1099111dd9ce1cbe6c7b2f69008ae817ec1e5574847affe17935ce62285b059a.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>The total yearly improvement, and the time to break-even, will depend on each positions’ performance. Depending on each LPs strategy and expectations, auto-compounding might not be ideal. Particularly on high gas-price environments like Ethereum mainnet, auto-compounding should be attractive mostly to LPs with very high fee apr, or long expected time range on their positions.</p><p>We are also excited about launching this protocol/feature today simultaneously on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0x5411894842e610c4d0f6ed4c232da689400f94a1#code">Mainnet</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://optimistic.etherscan.io/address/0x5411894842e610c4d0f6ed4c232da689400f94a1#code">Optimism</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://arbiscan.io/address/0x5411894842e610c4d0f6ed4c232da689400f94a1#code">Arbitrum</a>, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygonscan.com/address/0x5411894842e610c4d0f6ed4c232da689400f94a1#code">Polygon</a>.</p><p>So we hope you try it out, check if it makes sense for your current or future Uniswap v3 positions, and if you have any questions or comments, drop by our discord.</p>]]></content:encoded>
            <author>revertfinance@newsletter.paragraph.com (Revert)</author>
        </item>
    </channel>
</rss>