# Vault owner is incentivized to not switch invalid collateral token during liquidation

Bug Deep Dive #26 · 22 December 2025

Bug Deep Dives · [The Contest Academy](https://0xsimao.com/the-contest-academy) · 0xSimao

---

| Title | Vault owner is incentivized to not switch invalid collateral token during liquidation |
| Reward | $33790, Unique |
| Contest | FAssets - 19 August 2025 on Code4rena |
| Author | rvierdiiev |
| Context | Business Logic |

A collateral token can be made invalid by a governance decision, after which the agent is expected to switch to a valid one. There is a case where the vault owner has no incentive to switch, at least for a while.\
During liquidation, if the vault's collateral token is invalid, the collateral pool covers the entire payment. If both the pool and the vault are undercollateralised, the vault's liability is capped at half the pool's responsibility.

This creates an incentive for the agent:

- With a valid collateral token, the vault typically pays **100%** (`vaultFactor`) and the pool **30%** (`poolFactor`), so the agent bears about 115%, since the vault covers half of `poolFactor`.
- With an invalid collateral token, the vault's effective share can fall to about 65%, which is far better for the agent.

Agents can therefore avoid switching to a valid collateral token during liquidation, undermining the design.

```solidity
if (!vaultCollateral.isValid() && poolCollateral.isValid()) {
    // vault collateral invalid - pay everything with pool collateral
    _c1FactorBIPS = 0;
```

**Alpha:** think about the incentives in each flow. Is there a way for an actor to behave irrationally on the surface and still come out ahead?

**Conclusion**

This finding would earn you **\$33790**, and needs only an understanding of the business logic.

[**Full Report**](https://code4rena.com/reports/2025-08-flare-fasset#m-01-vault-owner-is-incetivized-to-not-switch-invalid-collateral-token-during-liquidation)\
[**Codebase**](https://github.com/code-423n4/2025-08-flare/tree/main)

---

Newer: [Accumulated rewards in FSTO can be stolen by the agent's owner](https://0xsimao.com/the-contest-academy/bug-deep-dive-27) · Older: [Gas consumed in notifyUnsubscribe is underestimated during tests and is greater than 300,000 without pre-warming](https://0xsimao.com/the-contest-academy/bug-deep-dive-25)
