About Carthage

 

About Carthage

Carthage, at its core, is a solution for protocols on Scroll to properly incentivize liquidity for their own use cases.

Carthage is a project built based on the original designs of Andre Cronje's Solidly which was later revised and made wildly successful by Velodrome Finance.

⚠️

Before using Carthage, you are required to read and agree to our legal disclaimer.

 

Protocol Overview

Problems with Liquidity Incentivization

Almost every protocol in DeFi needs to have a certain amount of liquidity for one reason or another.

LiquidityExampleBenefit
Native tokenETH-USDCTreasury access to capital markets
StablecoinsDAI-USDCEnsure stability by minimizing depeg risk
Pegged assetETH-stETHMinimize opportunity cost of converting assets

However, current solutions for incentivizing liquidity come with their own tradeoffs and pitfalls:

  • Pool 2 emissions (i.e. attaching a reward to staked LPs) can be costly to maintain, and often times result in a "farm and dump" resulting in "unsticky" liquidity.

  • Protocol owned liquidity can be costly to bootstrap, and liquidity may only be needed occasionally, instead of on-going basis.

  • Bribing voters in the CRV/CVX system can be costly as incumbents already have a sizeable lead. Additionally, the universe of pool types here are limited.

Introducing Carthage ⛵︎

Velodrome addresses these issues and presents an attractive alternative by addressing the core issues in Solidly and adding its own improvements. To recall, the key innovation of Solidly was to align protocol emissions with fees generated, not simply liquidity. To do this, it would allow protocols and other large stakeholders to become veNFT "voters", using their locked voting power to direct future emissions and collecting fees (termed bribes in Solidly) from the pools they voted for.

Carthage was based on Velodrome which had made improvements to the Solidly codebase, all of which were thoughtfully chosen to ensure that the protocol would carry out the original intended mechanism of allowing voters to fairly compensate LPs for impermanent loss.

Solidly had several key issues that prevented its success in the Fantom ecosystem:

Improvement: Tying Rewards with Emissions

In Solidly, voting rewards (i.e. bribes) were claimable before the emissions from that vote were committed. Velodrome addresses this with new mechanisms:

  • First, we allow voters to make only one "active" voting decision (i.e. Voter.vote(), Voter.reset()) every epoch (note: this does not include the Voter.poke() function).
  • Additionally, bribes from fees (internal) and external sources (external) are treated differently. Internal bribes function more or less the same way as they did in Solidly, streamed to voters who vote for them. External bribes, however, are rewarded per epoch rather than streamed, and are claimable only after the next epoch starts. This means that a bribe sent at the last minute of an epoch will accrue to all voters of that epoch, and be claimable once the epoch flips.

The goal of these changes is to ensure a healthy equilibrium between voters and external bribers. Bribers are incentivized to get their bribes early in that week, as to attract early voters. They also benefit from bribing later, as to have more information on competing bribes. Voters face a similar dilemma, as voting too early means forgoing potentially lucrative bribes that come later, and voting too late means voting with a lower ($veCARTH) balance. Note that this latter affect is especially pronounced for voters who have locked for shorter time periods (e.g. voters who have locked for weeks rather than months/years will experience larger differences in the bribes they receive from voting later vs. earlier in the epoch).

Improvement: Ensuring Productive Gauges

In Solidly, exploitive voters were able to direct emissions towards unproductive gauges, including those for pools 100% owned by those voters. Carthage addresses this in three ways:

  • First, we've added an on-chain governor to whitelist pairs used in gauges. Voters will need at least 0.02% to submit a proposal, and 4% to reach quorum. To ensure that those who whitelist gauges are economically aligned economically with our system, we've also removed the ability to whitelist by paying a whitelisting fee. Note that the on-chain governor is currently not live, as we're still working with Tally to get the process set up.
  • Second, we've also added an Emergency "Commissaire", which has the ability to kill any gauge it deems unproductive to the broader ecosystem. This Commissaire consists of folks from both the Velodrome core team, and the broader Optimism and DeFi ecosystems. The Commissaire multisig is available here, and signers include:
SignerAffiliationAddress
TBDCarthage0x
TBDCarthage0x
TBDCarthage0x
TBDTBD0x
TBDTBD0x
ScrollScrollTBD
  • Third, we've doubled the initial swap fee from 0.01% to 0.02% to ensure that voters have more twice the incentive to direct emissions towards productive liquidity. Note that this rate is still much lower than alternative exchanges (e.g. Curve at 0.04%). Stable and volatile pairs also have different fees, both modifiable up to 0.05%.

Resources