# Grant Application: swap.cow.fi performance - bundle optimization

**URL:** <https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315>\
**Category:** CoW Grants Program\
**Tags:** complete, grant-funded\
**Created:** [December 16, 2025, 2:36pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315 "2025-12-16T14:36:51Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![crutch12](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/crutch12/32/1605_2.png) [@crutch12](https://forum.cow.fi/u/crutch12)\
**Post date:** [December 16, 2025, 2:36pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/1 "2025-12-16T14:36:51Z")

</div>

#### Grant Title

Grant Application: [swap.cow.fi](http://swap.cow.fi) performance - bundle optimization

#### Author(s)

Senior Web Developer - Konstantin Barabanov: ([crutch12 (Konstantin Barabanov) · GitHub](https://github.com/crutch12))  
Main Point of Contact - [Telegram: Contact @criitch](https://t.me/criitch)

#### Experiences and qualifications

- see here: [Grant Application: swap.cow.fi performance - prerender html](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-prerender-html/3301)

#### Grant Description

Currently, the swap app build command generates next js bundle:

- Total size: 19.02 mB (4.52 mB brotli)
- **Initial js load size: 7.8 mB (2.16 mB brotli)**

My tests have showed that we can reduce these sizes to:

- Total size: 16.63 mB (4.12 mB brotli)
- **Initial js load size: 4.41 mB (1.32 mB brotli)**

So the initial load **boosts up more than x1.5 times**.

And it can be achieved just using some bundle optimization techniques: without significant code base changes and without a lot of effort.

Here is the list of applied optimizations:

- update `@1inch/permit-signed-approvals-utils` version and use via `async` import
- 
  - this library is archived, so we may copy some implementation to get rid of the most often usages

- 
  - this update leads to `@cowprotocol/permit-utils` breaking change (`getPermitUtilsInstance` is async now), so we have to release it with new major version

- update `@safe-global` version and use `@safe-global/api-kit` via `async` import
- 
  - new versions of `@safe-global` don’t require `protocol-kit` and `safe-ethers-lib` usage

- 
  - no more `web3` requirements

- 
  - update changes return types a little, so had to fix it

- deduplicate `bn.js`
- update `@walletconnect`
- use `framer-motion` via `async` import
- use `lottie-react` via `async` import
- use `lottie/progressbar-step-*.json` via `async` import
- better vite’s `manualChunks` usage

**Also** : many deps have new releases with `esm` support, so we win a huge amount of size thx to tree shaking.

**Expected impact:**

- Faster first paint and perceived performance (\> x1.5 times). See the pagespeed metrics comparison in the first comment.

Another changes/features I would like to provide with this feature

- better chunks/entrypoints/assets naming
- [https://www.npmjs.com/package/rollup-plugin-bundle-stats](https://www.npmjs.com/package/rollup-plugin-bundle-stats) usage to compare bundle size diff in future

#### Type of Grant

Milestones-based

#### Milestones

| Milestones | Title | Duration | Funding request |
| --- | --- | --- | --- |
| Milestone 0 | Proof of Concept (PoC), prepare PageSpeed Insights reports | COMPLETED | 400 xDAI + 500 COW |
| Milestone 1 | Prepare changes for neat PR | 1d | 0 |
| Milestone 3 | Better naming, bundle-stats usage | 0.5d | 0 |
| Milestone 4 | Testing | 1d | 0 |
| Milestone 5 | Update contribution docs, setup eslint rules | 0.5d | 0 |
| Milestone 6 | Provide PR | 0d | 400 xDAI + 500 COW |
| Milestone 7 | Fix found related problems | unknown | 0 |

#### Length

I’m ready to start as soon as the grant is approved. I won’t work full time on it, but believe I can complete it in ~1 week after approve.

#### Funding Request

800 xDAI + 1000 COW for the whole feature.

#### Gnosis Chain Address

`0xd26ecc4457eb51cde9a5d44d316b3e83d60f2efb`

#### Other Information

I’ve already did a prototype and will provide PageSpeed Insights reports in the first comment.

As you can see, such metrics as **First Contentful Paint** , **Speed Index** , **Largest Contentful Paint** are lower with those optimizations.

Future (out of current scope) steps could be:

- get rid of `web3-react` deps
- load every page (except `swap`) via react’s `lazy`
- migrate `@ethersproject` to `viem`
- use `@uniswap` via `async` import
- use some `common` and `modules` modules via `async` import (they are really huge!)
- in cow sdk libs: use `@safe-global` via `async` import
- in cow sdk libs: use `@defuse-protocol/one-click-sdk-typescript` via `async` import

#### Terms and Conditions

By submitting this grant application, I acknowledge and agree to be bound by the [CoW DAO Participation Agreement](https://gateway.pinata.cloud/ipfs/Qmf9MYhcG2pFrDoVy13p6FWeVF4nG9HbJvRfYYbhazTCFe) and the [CoW DAO Grant Agreement Terms](https://bafkreifcftgaleyxkekkic36beyveiomqmlwyduyfh3s25zj3uyngr6ht4.ipfs.dweb.link/).

---

<div class="post-metadata">

**Author:** ![crutch12](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/crutch12/32/1605_2.png) [@crutch12](https://forum.cow.fi/u/crutch12)\
**Post date:** [December 16, 2025, 2:47pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/2 "2025-12-16T14:47:43Z")

</div>

### PageSpeed Insights

PageSpeed Insights reports, made in same conditions with temporal web servers

#### Without bundle optimizations

- [https://pagespeed.web.dev/analysis/https-e3x7tq-89-179-246-97-ru-tuna-am/1933rsudfo?form\_factor=mobile](https://pagespeed.web.dev/analysis/https-e3x7tq-89-179-246-97-ru-tuna-am/1933rsudfo?form_factor=mobile)

#### With bundle optimizations

- [https://pagespeed.web.dev/analysis/https-wxm827-89-179-246-97-ru-tuna-am/djtwbuac6y?form\_factor=mobile](https://pagespeed.web.dev/analysis/https-wxm827-89-179-246-97-ru-tuna-am/djtwbuac6y?form_factor=mobile)

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/cow/original/2X/b/bd2488631a1ae4a8c6c964bbbae6a9ff8d57e1a3.png)  
 ![image](https://europe1.discourse-cdn.com/flex013/uploads/cow/original/2X/4/4fa4fcd403327bc6f6c546fc0092efabab88062e.png)

### analyse.html comparison

And here are analyse.html files, available on vercel deployments:

- before - [https://cowswap-build-3icqdsz1d-crutch12s-projects.vercel.app/analyse.html](https://cowswap-build-3icqdsz1d-crutch12s-projects.vercel.app/analyse.html)
- after - [https://cowswap-build-p87ltgm6f-crutch12s-projects.vercel.app/analyse.html](https://cowswap-build-p87ltgm6f-crutch12s-projects.vercel.app/analyse.html)

### Initial js load size comparison

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/cow/original/2X/a/a9556580ae8da0fd1ac8d7a7a7609bff7d47cc54.png)  
 ![image](https://europe1.discourse-cdn.com/flex013/uploads/cow/original/2X/0/011d1c5df4b70bff2d44467a80495d598ab4f427.png)

---

<div class="post-metadata">

**Author:** ![mfw78](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/mfw78/32/1598_2.png) [@mfw78](https://forum.cow.fi/u/mfw78)\
**Post date:** [December 16, 2025, 4:06pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/3 "2025-12-16T16:06:46Z")

</div>

Hi, thanks for your grant application, however after discussion with the Grants Committee, we signal that we are not interested in pursuing this grant application.

---

<div class="post-metadata">

**Author:** ![crutch12](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/crutch12/32/1605_2.png) [@crutch12](https://forum.cow.fi/u/crutch12)\
**Post date:** [December 16, 2025, 4:47pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/4 "2025-12-16T16:47:56Z")

</div>

Got it.

Thanks for quick response!

---

<div class="post-metadata">

**Author:** ![shoom3301](https://avatars.discourse-cdn.com/v4/letter/s/aca169/32.png) [@shoom3301](https://forum.cow.fi/u/shoom3301)\
**Post date:** [December 18, 2025, 8:18am UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/5 "2025-12-18T08:18:31Z")

</div>

Hi @crutch12 !  
Thanks for the application!

I think it’s quite valuable for CoW Swap, I would like to have it done.  
@mfw78 can we reconsider this application please?

---

<div class="post-metadata">

**Author:** ![mfw78](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/mfw78/32/1598_2.png) [@mfw78](https://forum.cow.fi/u/mfw78)\
**Post date:** [December 18, 2025, 8:51am UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/6 "2025-12-18T08:51:40Z")

</div>

Thanks for reviewing this and reaching out. Sorry @crutch12 that it got caught in the cross-fire and incorrectly considered as spammy 🙈 .

I signal my interest in supporting this grant given that there is now tractable evidence that it will have both benefit and be utilised by CoW Swap.

---

<div class="post-metadata">

**Author:** ![crutch12](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/crutch12/32/1605_2.png) [@crutch12](https://forum.cow.fi/u/crutch12)\
**Post date:** [December 18, 2025, 11:11am UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/7 "2025-12-18T11:11:51Z")

</div>

Snapshot: [https://snapshot.box/#/s:cowgrants.eth/proposal/0x8a2b120f3e869a175e1de19b6516980b0d325bc06f41b0e32c89cb9da3ed42b5](https://snapshot.box/#/s:cowgrants.eth/proposal/0x8a2b120f3e869a175e1de19b6516980b0d325bc06f41b0e32c89cb9da3ed42b5)

---

<div class="post-metadata">

**Author:** ![crutch12](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/crutch12/32/1605_2.png) [@crutch12](https://forum.cow.fi/u/crutch12)\
**Post date:** [December 18, 2025, 11:47am UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/8 "2025-12-18T11:47:23Z")

</div>

@middleway.eth @Chim9 @Sov could you check it out, please? 🙏

I’ve created the snapshot according to the rules: [How to Apply for a Grant | CoW Protocol Documentation](https://docs.cow.fi/governance/grants/how-to-apply)

I hope it’s not too early… If it is, I can create a new snapshot later

---

<div class="post-metadata">

**Author:** ![crutch12](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/crutch12/32/1605_2.png) [@crutch12](https://forum.cow.fi/u/crutch12)\
**Post date:** [December 18, 2025, 3:34pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/9 "2025-12-18T15:34:25Z")

</div>

> [@crutch12](#):
>
> Currently, the swap app build command generates next js bundle:

What I meant here:

> Currently, the swap app build command generates **following** js bundle:

Just to clarify 🫣

---

<div class="post-metadata">

**Author:** ![mfw78](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/mfw78/32/1598_2.png) [@mfw78](https://forum.cow.fi/u/mfw78)\
**Post date:** [December 22, 2025, 3:20pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/10 "2025-12-22T15:20:45Z")

</div>

Hi, can you please resubmit your grant to snapshot. Generally we advise to not submit over the weekend due to the voting period of 3 days and it failing to reach quorum there.

---

<div class="post-metadata">

**Author:** ![crutch12](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/crutch12/32/1605_2.png) [@crutch12](https://forum.cow.fi/u/crutch12)\
**Post date:** [December 22, 2025, 5:36pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/11 "2025-12-22T17:36:48Z")

</div>

Hi

Yeah, sure. I’ll know next time.

New snapshot: [https://snapshot.box/#/s:cowgrants.eth/proposal/0x7095f94ee737b5d4983f744fc1c4ad58d3b8ea6f28f60814fb0a8332d603db4d](https://snapshot.box/#/s:cowgrants.eth/proposal/0x7095f94ee737b5d4983f744fc1c4ad58d3b8ea6f28f60814fb0a8332d603db4d)

---

<div class="post-metadata">

**Author:** ![crutch12](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/crutch12/32/1605_2.png) [@crutch12](https://forum.cow.fi/u/crutch12)\
**Post date:** [December 24, 2025, 10:36am UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/12 "2025-12-24T10:36:27Z")

</div>

Hi @mfw78

Should I mention somebody else to check the snapshot?

---

<div class="post-metadata">

**Author:** ![Sov](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/sov/32/1295_2.png) [@Sov](https://forum.cow.fi/u/Sov)\
**Post date:** [December 24, 2025, 2:52pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/13 "2025-12-24T14:52:25Z")

</div>

@crutch12 It looks like there are enough votes in to pass, and it has met quorum. I can send more details here re: next steps for onboarding after the vote is finalized (probably 12/26 due to holidays).

---

<div class="post-metadata">

**Author:** ![Sov](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/sov/32/1295_2.png) [@Sov](https://forum.cow.fi/u/Sov)\
**Post date:** [December 26, 2025, 4:04pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/14 "2025-12-26T16:04:24Z")

</div>

@crutch12 congrats, the CoW Grants Council has approved your grant proposal via Snapshot. We’re excited to support your work to optimize [swap.cow.fi](http://swap.cow.fi) bundle to achieve \>1.5x faster initial load performance.

**Grant** : [swap.cow.fi](http://swap.cow.fi) performance - bundle optimization  
**Grantee** : @crutch12  
**Amount** : 800 xDAI + 1,000 COW  
**Approved** : [Snapshot](https://snapshot.box/#/s:cowgrants.eth/proposal/0x7095f94ee737b5d4983f744fc1c4ad58d3b8ea6f28f60814fb0a8332d603db4d) on December 25, 2025

* * *

## Your Grant Team

@Sov - Process, payments, and approvals  
@mfw78 - Technical review and quality standards

This is a milestone-based grant with two payment points. Your [approved proposal](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3329) governs all details.

* * *

## Milestone & Delivery

| Milestone | Deliverable | Due Date | Payment |
| --- | --- | --- | --- |
| M0 | Proof of Concept, PageSpeed Insights reports | Completed | 400 xDAI + 500 COW |
| M6 | Bundle optimization PR (prep, naming, testing, contribution docs, ESLint rules) | January 1, 2026 | 400 xDAI + 500 COW |

**Success metric** : Reduce initial JS load from 7.8 mB to 4.41 mB (brotli: 2.16 mB → 1.32 mB), achieving \>1.5x faster first paint and perceived performance.

When you complete a milestone, post in this thread with links to deliverables (GitHub, docs) and tag @Sov and @mfw78

Approved milestones are included in the next end-of-month payout cycle, with funds arriving by the 15th of the following month.

Post progress updates every 2-4 weeks. Flag blockers early. Small changes can be approved directly by your team. Major changes need a Snapshot vote.

* * *

## Your Responsibilities

Execute your proposal as approved and deliver on time to the quality standards you committed to. Post proactive progress updates in this thread - don’t wait for us to ask. When you hit issues, flag them early. When you complete milestones, post deliverable links and tag your team. If timelines shift, discuss in this thread.

Deliverables must be open source. You’re an independent contractor handling your own taxes. Review full [grant terms here](https://forum.cow.fi/t/grants-dao-grant-agreement-terms-from-february-2025/2752) and [here](https://gateway.pinata.cloud/ipfs/Qmf9MYhcG2pFrDoVy13p6FWeVF4nG9HbJvRfYYbhazTCFe).

* * *

Please reply to confirm that you’ve read this onboarding, provide your Gnosis Chain payment address (which must match your Snapshot signing account), confirm that you understand your responsibilities, and acknowledge that you can reach your Steward and Reviewer via the contacts above.

Once confirmed, you’re clear to start building. Questions? Tag @Sov for process/payments or @mfw78 for technical issues. 🐮

---

<div class="post-metadata">

**Author:** ![crutch12](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/crutch12/32/1605_2.png) [@crutch12](https://forum.cow.fi/u/crutch12)\
**Post date:** [December 26, 2025, 10:56pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/15 "2025-12-26T22:56:42Z")

</div>

@Sov

Got it, thanks.

Address: `0xd26ecc4457eb51cde9a5d44d316b3e83d60f2efb`

Start to implement described milestones 🫡

---

<div class="post-metadata">

**Author:** ![crutch12](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/crutch12/32/1605_2.png) [@crutch12](https://forum.cow.fi/u/crutch12)\
**Post date:** [December 28, 2025, 8:01pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/16 "2025-12-28T20:01:34Z")

</div>

Here is the most part of the feature: [refactor(swap): bundle optimization by crutch12 · Pull Request #6775 · cowprotocol/cowswap · GitHub](https://github.com/cowprotocol/cowswap/pull/6775)

@shoom3301 @Sov @mfw78

All that’s left are tests and possible testing problems

---

<div class="post-metadata">

**Author:** ![crutch12](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/crutch12/32/1605_2.png) [@crutch12](https://forum.cow.fi/u/crutch12)\
**Post date:** [January 27, 2026, 12:34pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/17 "2026-01-27T12:34:07Z")

</div>

Hi

Looks like PR was just merged

> <https://github.com/cowprotocol/cowswap/pull/6775>
>
> \# Summary
> 
> Bundle size optimization for swap.cow.fi (see \[grant proposal\](http…s://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315))
> 
> Results:
> \- initial load size (brotli) \*\*2.104kb\*\* -\> \*\*1.254kb\*\*
> \- total bundle size (brotli) 4.52mb -\> 3.91mb
> \- thx to dynamic imports, \`dev\` mode should start faster
> 
> \<details\>
> \<summary\>Initial loading size before/after\</summary\>
>   
> \*\*Before\*\*
> \<img width="1324" height="623" alt="image" src="https://github.com/user-attachments/assets/17011be6-a3fc-495e-8e6b-5260b52d4431" /\>
> 
> \*\*After\*\*
> \<img width="1328" height="616" alt="image" src="https://github.com/user-attachments/assets/60b9a620-d21b-4889-a5ea-47ef7d657646" /\>
> \</details\>
> 
> \### Done
> 
> \- \`@safe-global/api-kit\` - dynamic import + \`@safe-global/\*\*\` new versions (esm support) 
> \- \`@1inch/permit-signed-approvals-utils\` - dynamic import + partial re-export (for better tree-shaking) + new version (esm support) + hardcode used constants
> \- use esm instead of cjs for supported "bad configured" deps (e.g. \`@use-gesture/core\` and \`@safe-global/safe-apps-sdk\`)
> \- dedupe \`bn.js\`
> \- \`lottie-react\` - dynamic import
> \- \`framer-motion\` - dynamic import
> \- \_huge lottie jsons\_ - dynamic import
> \- updated a lot of deps to new versions (esm support)
> \- eslint rules for added dynamic imports
> \- updated contribution docs
> 
> \#### Other
> 
> \- better chunk naming (e.g. \`index-\[hash\].js\` -\> \`metamask-\[hash\].js\`)
> \- added \[rollup-plugin-bundle-stats\](https://www.npmjs.com/package/rollup-plugin-bundle-stats)
> 
> \### Todo
> 
> \- testing
> 
> \### Caveats
> 
> \- \`@safe-global/\*\*\` new versions have slightly different types (e.g. for \`nonce\`), there may be problems I couldn't catch (e.g. on the sdk side)
> 
> \# To Test
> 
> \- run \`rimraf node\_modules\` before \`yarn install\` usage
> \- should work as well as production, but faster
> 
> \# Background
> 
> Optional: Give background information for changes you've made, that might be difficult to explain via comments
> 
> 
> 
> \## Summary by CodeRabbit
> 
> \* \*\*New Features\*\*
> \* Lazy-loaded animations and motion assets; improved code-splitting for faster initial load.
> 
> \* \*\*Bug Fixes\*\*
> \* Fixed Safe transaction nonce handling for more reliable on-chain transaction status.
> 
> \* \*\*Chores / Refactor\*\*
> \* Updated Safe and permit-related packages and build configuration to improve bundling and analysis.
> 
> \* \*\*Documentation\*\*
> \* Contributor guide expanded with bundle optimization and testing guidance.
> 
> \<sub\>✏️ Tip: You can customize this high-level summary in your review settings.\</sub\>

@Sov should I do anything else about this grant application?

---

<div class="post-metadata">

**Author:** ![shoom3301](https://avatars.discourse-cdn.com/v4/letter/s/aca169/32.png) [@shoom3301](https://forum.cow.fi/u/shoom3301)\
**Post date:** [January 28, 2026, 9:36am UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/18 "2026-01-28T09:36:14Z")

</div>

Hi there!

I confirm that the PR is merged and the goals of the grant are reached successfully!

Thank you @crutch12 !

---

<div class="post-metadata">

**Author:** ![Sov](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/sov/32/1295_2.png) [@Sov](https://forum.cow.fi/u/Sov)\
**Post date:** [January 29, 2026, 2:01pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/19 "2026-01-29T14:01:55Z")

</div>

Excellent - thanks @crutch12 and @shoom3301. We can confirm that this grant is now completed and meets the requirements. We’ll work on queuing the payment and closing this out.

---

<div class="post-metadata">

**Author:** ![Chim9](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.cow.fi/chim9/32/417_2.png) [@Chim9](https://forum.cow.fi/u/Chim9)\
**Post date:** [January 30, 2026, 1:28pm UTC](https://forum.cow.fi/t/grant-application-swap-cow-fi-performance-bundle-optimization/3315/20 "2026-01-30T13:28:03Z")

</div>

Thanks again for your work @crutch12 the grant has now been fully paid.

Please note that if you plan to sell the $COW tokens received as part of this grant, liquidity on Gnosis Chain is currently quite limited, which may result in significant price impact. For this reason, we would recommend bridging the tokens to Ethereum, where liquidity is deeper, using the [Gnosis bridge](https://bridge.gnosischain.com/).

There are no bridge fees for this transfer; you would only need to cover a small claim transaction fee on Ethereum once the bridge transfer has been confirmed.
