<!-- canonical: https://0xsimao.com/findings/maple-finance-iii-process-batching-transfers-together -->

# `SyrupBitcoinRouter::processRedemptions()` could be optimized by batching transfers together

Low/Info · Sherlock · Institutional lending · 22nd October, 2025

Finding I-1 of the Maple Withdrawal Queue security review.

- Protocol: https://maple.finance/
- Report: /reports/maple-finance-iii-2025
- Source: https://github.com/maple-labs/maple-core-v2/blob/main/audits/2025-november/Sherlock-Maple-Finance-WM-Nov-2025.pdf

---

## Summary

`SyrupBitcoinRouter::processRedemptions()` transfer in each loop iteration, when the sums could be added together and transferred after the end.

## Vulnerability Detail

As can be seen [here](https://github.com/sherlock-audit/2025-10-maple-oct-22nd/pull/11/files#diff-18c2378be607a98c91191fcd085ea891f37c1a8a9210c32f7aa3caa044c30550R109), it will transfer/redeem on every iteration, which is not very effective.

## Impact

N/A

## Code Snippet

https://github.com/sherlock-audit/2025-10-maple-oct-22nd/pull/11/files#diff-18c2378be607a98c91191fcd085ea891f37c1a8a9210c32f7aa3caa044c30550R109

## Tool Used

Manual Review

## Recommendation

Redeeming, treasury fees, and even the owner could be optimized to be batched together.
