Token Converter Phase 2 — TokenBuyback Migration

This proposal retires Venus Protocol’s community-driven Token Converter system on BNB Chain and replaces it with a single, lightweight TokenBuyback contract class executed by an ACM-authorized finance-team cron at DEX market rate. The migration is governance-controlled and rewires ProtocolShareReserve’s revenue distribution to 10 new TokenBuyback instances.

Background

Today, protocol revenues sourced from reserve interests and liquidations flow through the Automatic Income Allocation module into 8 deployed Token Converter contracts. Conversions are triggered by external community members, who are paid up to a 50% premium over the oracle price as an arbitrage incentive.

In practice, this design has not held up:

  • Tokens sit idle for hours or days waiting for a participant to act
  • The protocol pays well above market rate when conversions do happen
  • The system spans 5 contract classes across 8 instances (~2,160 lines of Solidity), making audits expensive and iteration slow
  • Conversion cadence is unpredictable, so protocol income accumulation is non-deterministic

Phase 2 replaces this with a single contract class — TokenBuyback — deployed once per (destination, base asset) pair, and triggered on a defined schedule by the finance team via DEX aggregators at the prevailing market rate.

Details

When ProtocolShareReserve (PSR) distributes income, the following flow now executes:

  1. PSR transfers tokens to the appropriate TokenBuyback instance and calls updateAssetsState
  2. The instance passively accumulates the inflow and emits AssetsReceived for off-chain accounting
  3. On a defined cadence, the finance-team cron calls executeBuyback with off-chain-built DEX calldata (1inch / OKX / pre-allowlisted routers)
  4. The contract validates slippage against minAmountOut, executes the swap, and forwards the resulting BASE_ASSET directly to its DESTINATION (Treasury / Prime Liquidity Provider / RiskFund / XVS Vault Treasury)
  5. If the inflow is already in BASE_ASSET, the operator can call forwardBaseAsset(comptroller, amount) to forward without a swap, partitioning by source pool for accurate attribution

No oracle, no community premium, no idle balance. Pricing is fully market-rate, cadence is guaranteed.

:lock: Migration is single-VIP per chain. BNB Chain ships first; remaining chains follow once the BSC rollout is monitored stable.

Action

This VIP consists of 5 key actions on BNB Chain:

1. Grant ACM Permissions to All TokenBuyback Instances

  • Grants executeBuyback and forwardBaseAsset to the finance-team operator address
  • Grants setAllowedRouter and sweepToken to the Normal Timelock
  • Grants pause() and unpause() to Normal / Fast Track / Critical Timelocks and the Guardian
  • Provides circuit-breaker capability across all governance response speeds

2. Drain Existing Converters into the New Instances

  • Routes residual balances out of RiskFundConverter, USDTPrimeConverter, USDCPrimeConverter, BTCBPrimeConverter, ETHPrimeConverter, and XVSVaultConverter into the corresponding TokenBuyback instances by BASE_ASSET
  • WBNBBurnConverter and ConverterNetwork are emptied and retired (no replacement)

3. Replace PSR distributionTargets

  • Clears all 8 existing distributionTargets rows
  • Inserts 10 new rows pointing to the TokenBuyback instances, summing to MAX_PERCENT (10000) per the schema

4. Revoke ACM Permissions on Retired Converters

  • Removes convertExactTokens, convertForExactTokens, convertExactTokensSupportingFeeOnTransferTokens, and related permissions from the legacy converters
  • Old proxies remain deployed (empty and un-permissioned) for historical event continuity

5. Configure DEX Router Allowlist

  • Calls setAllowedRouter(router, true) on each TokenBuyback instance for the initial set of DEX aggregator routers (1inch v6, OKX DEX router, PancakeSwap Smart Router v3)
  • Future router additions / removals require a VIP

Summary

If approved, this VIP will:

  • Place 10 new TokenBuyback instances under Venus governance and finance-team operational control on BNB Chain
  • Drain all balances from the 8 legacy Token Converter contracts into the new instances and retire the legacy system
  • Rewire PSR’s revenue distribution from 8 destinations to 10 new TokenBuyback instances
  • Eliminate the up-to-50% community-conversion premium and the oracle dependency
  • Establish the technical foundation for the same migration to be replayed on Ethereum, Arbitrum, ZKsync, and Base in subsequent VIPs

We welcome community feedback on this proposal ahead of submitting it for a VIP vote.

1 Like

Finally, we replace this retard TokenConveter, for a more classical buyback

Thank you team 100% agree

1 Like