Retroactive Public Goods Pooling - Tool by PoolTogether x CANDIDE

This tool was inspired by Leighton’s idea of building an interface that centered around “donating your winnings" use case.


This project is a tool that allows users to deposit and delegate their chances of winning to Optimism RetroPGF round 2 in one click gasless no loss donation; helping fund public goods that support development and usage of the OP Stack


RetroPGF is Optimism mechanism of funding open source software. The Optimism Collective’s second round of Retroactive Public Goods Funding (RetroPGF) takes place in Q1 2023.

This tool aims to simplify the stage of a user journey of depositing and delegating to RetroPGF in PoolTogether. While the PoolTogether frontend is extremely well designed, it is constrained by EOA wallets’ limitations. A user wanting to deposit and delegate to RetroPGF with an EOA has a multi-step process involving several transaction executions and two different web pages.

We want to harness the power PoolTogether as a no loss saving protocol and CANDIDE account abstraction benefits to remove frictions in participating in public goods funding.

CANDIDE is an open source smart contract wallet focused on Optimism and its ecosystem.

How it works

Users connect to the tool with their wallet using WalletConnect, and select the amount they want to deposit and delegate to. They then get a request in their wallet to confirm the operations

Main Contract Interaction

PoolTogether’s StakePrizePool and TWABDelegator on Optimism

Function Calls

The tool’s frontend communicates JSON-RPC method for sending multiple function calls from the user’s wallet. The tool offers a one-click experience for multi-step interactions of bundled calls that approve USDC, deposit to the pool and delegate the tickets to RetroPGF.eth. The standard for communication used is EIP-5792. The following function calls are communicated:

  1. approve X USDC erc-20 contract

  2. deposit X USDC token to StakePrizePool contract

  3. approve X TICK erc-20 contract

  4. stake with delegator address and X Tickets in TWABDelegator contract

  5. createDelegation with delegator address, slot and delegatee and lock duration in TWABDelegator contract

  6. fundDelegation with the delegator address, slot, and amount of tickets in TWABDelegator contract

Wallet compatibility

Smart contract wallets that support EIP-5792. EOA wallets like Metamask cannot execute bundled function calls.

Gas abstraction

CANDIDE is proposing the ability to abstract gas through both sponsorship and allowing users to pay network fees in USDC.

Gas Sponsorship Proposal

One of the most discussed barriers for user adoption is gas. Users need to purchase ETH to get started with any operations with their wallet. With account abstraction, CANDIDE allows people to start transacting on protocols like PoolTogeher without owning any ETH.

We are proposing for Pooltogether to sponsor 1000 deposits. Each operation will cost approximately 0.0005 ETH based on a 750,000 gas limit. This amounts to total gas sponsorship of 0.5 ETH. (These numbers are approximated, and I will try to provide more accurate numbers once we do more tests on optimism mainnet).

This sponsorship aims to spread awareness of both public goods funding and the delegation feature of PoolTogether.

To mitigate against sybil resistance, only operations that passes the following will be sponsored:

  • A minimum deposit of $200
  • A minimum lock duration of 3 months

With current USDC yield at ~1.5% on AAVE and OP rewards at 3.1%, this will approxability generate a minimum of $2.25 for each deposit sponsored. Assuming the for best outcome of 1000, with a minimum deposit, filled for USDC 200,000; the chance of prize winning for RetroPGF.eth is ~93%

On top, CANDIDE will allow users that don’t qualify for gas sponsorship to pay network fees in USDC. USDC will be the only token needed in their wallet to start transacting on PoolTogether.

CANDIDE will waive all charges required to operate a paymaster service for the 1000 deposits sponsored by Pooltogether.


The project will be led by CANDIDE. We will lead the development and coordinate the tool’s launch before the start of RPGF round 2. We propose to coordinate with the PoolTogether team and community to work on materials that will spread awareness of this tool and knowledge of Public goods Funding. We will communicate with the Optimism Foundation about this tool so that they can claim their winning prizes and OP rewards.

This tool will be open source, and PoolTogether contributors are encouraged to discuss ideas and features to implement and bring to this project.


Couldn’t post more than 1 media and 2 links. Continuing here:

Bundled Calls

Incoming request displayed in Wallet


1 Like

Hey, great idea and I really like the concept! :smiley:

Some thoughts/questions:

The ask for 0.5 ETH for sponsorship is definitely doable and in addition I would propose some delegation (like the protocol delegation X thousand to that address).
The problem with funding gas reimbursement is making it sybil resistant and I think the lock feature can definitely help here if it really is possible to integrate that in the function calls.

Which Smart Contract wallets on OP are there besides Candide that could support this feature? I’m using MetaMask myself and don’t know much about other wallets, I think on ETH there is Argent? Do Gnosis Safes work?
Will definitely try out Candide if that feature is implemented :slight_smile:

Will there be any service fee after the first 1000 deposits? (From Candide or any third party?)

1 Like

Love it! Definitely think this is worth sponsoring… perhaps most appropriate for the grants team.

I do think the 3 month minimum is pretty long, maybe just like two weeks would be good? People hopefully will stay longer but keeping it locked that long I think would deter people.

1 Like

I’m hyped that this idea gets picked up and turned into a real thing.

I have a lot of sympathy for the type of your request as it’s solely asking for funds that will benefit users and Retro-PGF at the same time.

Great work so far! Hope to be able to test this soon.


hey @Lonser thanks for proposing to take a look at protocol delegation and glad you like the idea! :slight_smile:

Is there a place look at previous protocol delegations for other addresses or causes? It will give me an idea on how to propose a reasonable number.

Another smart contract wallet on Optimism I am aware of is Ambire Wallet (web based). I have communicated with them to look at the EIP so they can leverage these feature as well. Richard Meissner from Gnosis Safe gave feedback on the EIP as far as in the discussion forum, so hopefully we can see Safe support it as well.

If the amount dedicated for sponsorship exceeded our estimated number of deposits, there won’t be any extra fees or charges for the scope this gas sponsorship. In the future, based on how well the gas sponsorship turns out, we can make another proposal for a general purpose protocol sponsorship.

hey @Leighton ! I agree that 3 month is long and could deter away many from participating.

I wanted to keep the deposits low enough for many to participate, but at the same time make sense so that the yield to exceed the gas sponsored paid by the protocol. What do you think is the right balance between deposits and lock duration?

thank you @Tjark! and thank you for the guidance and early encouragement :ocean: :pray:

1 Like

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases. this is the public link to some of the recent delegations.