[BIP-666] Provide Balancer DAO POL to CoWAMM Pools

PR with Payload

Summary

Authors: @Mike_B, @Xeonus

In this proposal, we aim to formalize the launch requirements for CoWAMM’s for Balancer. This includes the following:

  • Transfer $250k in BAL for discretionary incentives
  • Transfer $250k in BAL + $250k in WETH to seed the BAL/WETH CoWAMM pool for a total of $500k
  • Transfer $125k in USDC and $125k in WETH to seed Balancer DAO’s portion of the USDC/WETH pool for a total of $250k

For a total of

$500k in BAL, $125k USDC, and $375k in WETH

Motivation

This proposal serves to formalise the execution of the approved obligations outlined in BIP-628 as at the time of BIP-628’s writing, the smart contracts had yet to be finalized. The execution only includes the provisioning of POL and not any token swap agreements so far.

Execution Specification

For the sake of simplicity and not having to specify join parameters (which can vary depending on asset pricing), the entirety of these funds will be sent to the LM multisig at 0xc38c5f97B34E175FFd35407fc91a937300E33860

Price of BAL: $2.34
Price of WETH: $3171

Amount ($) BAL USDC WETH
BAL Incentives $250,000.00 106837.61 0.00 0.00
USDC/WETH Pool $250,000.00 0.00 125000.00 39.42
BAL/WETH Pool $500,000.00 106837.61 0.00 78.84

This comes to a total of

125,000 USDC
213675.21 BAL
118.26 WETH

After which, the appropriate funds will be added to the corresponding CoWAMM pool after which the LP tokens will be transferred back to the DAO multisig.

This proposal will fulfill all our obligations outlined by BIP-628.

Technical Specification

The DAO multisig 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f will interact with USDC at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 by writing transfer, passing 0xc38c5f97B34E175FFd35407fc91a937300E33860 as recipient and the amount 125000 as 125000000000.
The DAO multisig 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f will interact with BAL at 0xba100000625a3754423978a60c9317c58a424e3D by writing transfer, passing 0xc38c5f97B34E175FFd35407fc91a937300E33860 as recipient and the amount 213675.21 as 213675210000000000000000.
Finally, the DAO multisig 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f will interact with WETH at 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 by writing transfer, passing 0xc38c5f97B34E175FFd35407fc91a937300E33860 as dst and the amount 118.26 as 181260000000000000000 at wad.

3 Likes

https://snapshot.org/#/balancer.eth/proposal/0xf9bc2c094bf303a185e730360f2464bfe9d4a2b31ef823bd162b57e247f134d2

The Maxis successfully seeded all requested POL positions within funding limits of the proposal. Given the price volatility of assets upon writing of this BIP and execution, the USDC:WETH POL and BAL:WETH POL targets were not fully met. As of the writing of this post the positions currently have the following net value:

  • BAL:WETH CoWAMM POL1: $437,815
  • BAL:WETH CowAMM POL2: $104,980
  • USDC:WETH CoWAMM POL: $209,700

The USDC:WETH POL specifically was seeded so that the 39.42 WETH limit was not exceeded as specified by the proposal.

After successfully seeding these positions, the Maxis calculated the deltas of all incoming transactions and returned the BPTs and remaining WETH, BAL and USDC amounts to the DAO multi-sig.

Currency Amount
USDC 23222.44559
BAL 1978.018654
WETH 3.745001

A detailed breakdown of funds sent back incl. calculations can be found here

1 Like

Hey @Xeonus; the second pool BALL:WETH that you specify refers to?
Is not included in the return transaction? Ethereum Transaction Hash (Txhash) Details | Etherscan

the BAL/WETH POL took place a bit before the rest, and the LP tokens along with leftover BAL from that budget based on changes in price, were sent back in this tx:

Note that while this information is for internal operations, we have made public the metadata we use when signing on onchain den.

You should pretty easily be able to understand most of the transactions on the LM multisig on Onchain Den.

While we don’t want to spend our whole life explaining our operations, the goal is 100% transparency. Happy to answer some questions from time to time.

I’m probably being shortsighted at some point; it seems that POL lost about 100k USD in returned assets over a period of 15 days; was this by way of liquidity mining?

It was due to decrease in token prices I think. You’d have to share more of your accounting for me to see more details. I think if you go through the transactions you will find that for each POL deposit, whatever tokens were available to make whatever entry was possible at a good/market price and then everything was sent back.

It’s hard to account for volatile tokens in USD over a period of time and have things add up.

Maybe this PR, originally linked by Xeonus, helps. There’s a lot of verification/cross-checking everything going on in the comments there.

1 Like

We specifically didn’t want to exceed the specified WETH limits as outlined in the proposal and didn’t have much float to work with. Also as @Tritium mentioned there was quite some price volatility happening between posting of the proposal and its execution. Note that we could only work with the specified token set and only proportional joins are possible with CoWAMM pools so we adhere to the proposal specifications.

All transactions and accounting can be verified by the transaction logs, on-chain and with GitHub artifacts that were provided above.

Current POL value as of writing of this post:

  • BAL:WETH CoWAMM POL 1: $378,950
  • BAL:WETH CoWAMm POL 2: $ 91,177
  • USDC:WETH CoWAMM POL: $196,788

Deltas compared to targets:
USDC:WETH: $53,212
BAL:WETH: $29,823

As you can see net value already changed again significantly since I posted numbers 10d ago where the deltas were much smaller:

You can check the positions with tools like DeBank | The Real User Based Web3 Community

1 Like

I am not referring to a loss in price, as I will try to explain:

Initial shipment: 08/08:

125K USDC
213675,21 BAL
118,26 ETH

Return:

  1. Ethereum Transaction Hash (Txhash) Details | Etherscan (14/08)

1043,95 BAL

156039,12 BALETH 0xf8F5B88328DFF3d19E5f4F11A9700293Ac8f638F

103400 (approx) BAL
78,88ETH

  1. Ethereum Transaction Hash (Txhash) Details | Etherscan (23/08)

Single assets:
23222,45 USDC
1978,02 BAL
3,75 ETH

LPs:

5194.38 ETHUSDC 0xf08d4dea369c456d26a3168ff0024b904f2d8b91
composition:

98236,77 USDC
40,94 WETH

726.35 80BAL20ETH/ETH 0xc5c91aea7551095c3e1ff0f94f682c45b347ad73
composition:

18.8511 ETH
(7,020 B-80BAL-20WETH)
3,77ETH
19700 BAL (approx)

Extracting:
-125K USDC
-213675,21 BAL
-118,26 ETH

+23222,45 USDC
+1978,02 BAL
+3,75 ETH

+98236,77 USDC
+40,94 WETH

+18.8511 ETH
+3,77ETH
+19700 BAL (approx)

+1043,95 BAL
+103400 (approx) BAL
+78,88ETH

Result:

USDC: -3540,78
-125K USDC
+23222,45 USDC
+98236,77 USDC

BAL: -87.553,24
-213675,21 BAL
+1978,02 BAL
+19700 BAL (approx)
+1043,95 BAL
+103400 (approx) BAL

ETH: 27,9311
-118,26 ETH
+3,75 ETH
+40,94 WETH
+18.8511 ETH
+3,77ETH
+78,88ETH

POL Net after strategy:
-3.540,78 USDC
-87.553,24 BAL (approx)
27,93 ETH

Added Value (today): 69400usd (27.93 ETH)

Lost Value (today): 166841 (3,540.78 USDC + 87553.24 BAL)

Net Value (today): -97441usd

*Values are net traded, they include slippage and gas costs.

Like I said, I may be missing some info, but I haven’t been able to find out if there is anything missing.
Really appreciate the answers @Xeonus @Tritium

The conclusion of this post is that POL lost USD 97.4k in assets due to this marketing strategy; I have no value judgment on whether the cost is fair or not; I just bring the data.

The status of the positions is current
Duration of the strategy until return: 15 days
Duration of the strategy until this analysis: 27 days

2 Likes

Appreciate the time you are taking to challenge these transactions @Jadmat :slight_smile:

Actually, I found a small error in our data presentation here, the accounting overall checks out though. The error was the BAL:WETH POL2 value!

TLDR:

  • BAL:WETH value that was deposited in total was only $417,245
  • BAL:USDC value at deposit was $204,020

I impersonated the LM multisig 0xc38c5f97B34E175FFd35407fc91a937300E33860 to show the effective deposits via UI

  1. BAL:WETH deposits:
    image
  2. USDC:WETH deposits:
    image

I also compiled a fresh breakdown of the $value at deposit:

Date Position USDC amount USDC price BAL amount BAL price WETH amount WETH price $ value at deposit
12.08.2024 BAL:WETH POL 1 0 1 6683.65 1.86 5 2668 $25,772
13.08.2024 BAL:WETH POL 2 0 1 99110 1.98 71.91 2715 $391,473
21.08.2024 BAL:USDC POL 1 101777.55 1 0 0 39.414999 2594 $204,020

A more easily to digest list of all transactions in detail:

Action USDC BAL WETH Explanation Tx hash
Incoming funds 125250 213675.21 118.26 Incoming funds Ethereum Transaction Hash (Txhash) Details | Etherscan
Incentive Program 1 0 8994.709 0 Transfer BAL to the Incentive Injector Ethereum Transaction Hash (Txhash) Details | Etherscan
BAL:WETH POL 1 0 6683.65 5 Join BAL:WETH Pool with first position Ethereum Transaction Hash (Txhash) Details | Etherscan
Transfer BAL for incentives 0 91159.24 0 Transfer BAL to omnichain safe for distributing incentives later Ethereum Transaction Hash (Txhash) Details | Etherscan
BAL:WETH POL 2 0 99110 71.91 Join BAL:WETH pool with second position Ethereum Transaction Hash (Txhash) Details | Etherscan
Transfer BAL for incentives 0 6683.65 0 Transfer rest of BAL allocated to this program to omnichain safe Ethereum Transaction Hash (Txhash) Details | Etherscan
BAL:USDC POL 1 101777.55 0 39.414999 Join BAL:USDC pool with 39.415 WETH as max limit Ethereum Transaction Hash (Txhash) Details | Etherscan

Given these transactions, we have a delta as we can only do proportional joins on those CoWAMM pools which is:

USDC BAL WETH
Delta sent back to DAO 23472.45 1043.961 1.935001

This accounts for a total value of $31,017

As we bundled the dust amounts from the [BIP-669] Provide 80BAL-20WETH:WETH POL on [Ethereum] too you see bigger amounts in the final tx hash

So given these numbers we actually

  • seeded $128,735 less than intended in the proposal given price volatility
  • of which were $31,017 to the DAO from the resulting “dust”

All in all these calculations should explain the delta you saw.

2 Likes

Thank you for your reply @Xeonus

I find it more accurate not to include the prices in the calculation, only for the interpretation of the final result.

Possibly the difference between the 2 values you present here is my result, since they coincide.

I do a breakdown between assets sent - assets received, only the price factor is included at the end, so the loss is closer to an asset loss than a market decline.

Do you know what stage this campaign is at? In previous messages I asked if an LM campaign was included, could the losses possibly come from there?

2 Likes

These are the stats of the concluded incentive campaign


Ref: https://balancer.defilytica.tools/rewards-injector

We have not decided yet how to proceed with the remaining funds. We will coordinate with CoW DAO to design and execute on that the most efficient way possible when the time is right :slight_smile:

2 Likes

It says “Remaining 0”, I haven’t found out how much BAL is left from this campaign.

Netting the BAL distributed from

would be like this:
Changes in POL according to the strategy, excluding the LM campaign:
-3540.78 USD
-60569.11 BAL (approx.)
+27.93 ETH

I don’t know how much BAL is still in CoW’s possession, but this may be an important part of the difference between sent/returned assets that we see.

A look, perhaps simplistic, seems to show a resulting difference on POL corresponding to more than 12% of the value equivalent to the assets sent, for a period of only 15 days; being that Cow helps to mitigate the LVR. Is this so?

I appreciate this exchange with you @Xeonus

1 Like

We emitted 26,984.13 BAL to the target gauges you see in the screenshot.

The remaining BAL for incentives is still in Balancer DAOs posession in the Omnichain safe managed by us. You can verify the amounts here. The table further above shows these transfers in the logs.

BAL still reserved for incentives: 70,858.77 BAL

In terms of portocol-owned liquidity (POL), balances constantly change. There is some IL that can accrue but overall LRV should mitigate that. We are working on showing that on the UI soon.

2 Likes