Skip to content

5ajaki/SPP2-Streams

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ENS DAO Service Provider Program Season 2 - Executable Requirements

Overview

This document outlines the technical requirements for the executable proposal to implement Service Provider Program Season 2, transitioning from the current 3.6M USDC annual budget to the approved 4.5M USDC annual budget.

📚 Historical Context: For details on how SPP1 was implemented, see SPP1 Technical History

🧮 Calculation Tools: Underpayment calculators for all providers are available in the tools/ directory.

Current Situation

Stream Architecture

ENS Treasury → Stream Management Pod → Individual Service Providers

Current Status

Note: SPP1 streams continue running as planned while providers complete T&Cs and due diligence for SPP2

  • Original approve and wrap: 300k USDC - 1 months funding (see EP5.2, February 2024)

  • Original autowrap allowance: 5.1M USDC (see EP5.2, February 2024)

  • Consumed over ~16 months: ~4.85M USDC (5.4M - 0.55M remaining)

  • Remaining allowance: 550,000 USDC (169k on auto-wrapper + 381k USDCx in stream)

  • Active streams: 6 providers continuing at SPP1 rates (3 providers terminated)

  • Current outgoing flow: ~2.5M USDC/year to providers (reduced from 3.6M USDC)

  • SPP2 program start: May 26, 2025 (streams enacted individually as paperwork completes)

Season 2 Composition

  • 6 continuing providers (still receiving SPP1 streams)
    • ETH.LIMO, Namehash Labs, Blockful, Unruggable, Ethereum Identity Foundation, Namespace
  • 2 new providers
    • JustaName and ZK Email
  • Total: 8 providers
  • Budget: 4.5M USDC annually
    • Two-year streams: 1.4M USDC/year (ETH.LIMO and Blockful)
    • One-year streams: 3.1M USDC/year (6 providers)

Required Transactions

1. Set USDC Allowance

Objective: Set sufficient allowance for the USDCx contract to spend one months worth of the ENS DAO Wallets USDC

Calculation:

  • Two-year streams: 1.4M USDC/year

  • One-year streams: 3.1M USDC/year

  • Total: 4.5M USDC

  • One month: 4.5M USDC / 12 => 375k USDC

Calldata: approveUSDCX Simulation: Tenderly

2. Upgrade (Wrap) USDC

Objectice: Wrap USDC from the ENS DAO wallet as USDCx to fund one month of streams.

Calldata: upgradeUSDC Simulation: Tenderly

3. Update Superfluid Stream Rate

Objective: Increase flow rate from wallet.ensdao.eth to Stream Management Pod

Current vs New:

  • Current: 0.1141 USDCx/second (~3.6M USDC/year)
  • New: 0.1426 USDCx/second (~4.5M USDC/year)
  • Increase: 25%

Calldata: setFlowrate Simulation: Tenderly

Note: This adjusts the flow rate going forward. Underpayments from May 26 to activation date are handled separately.

4. Set Autowrap Allowance

Objective: Set an appropriate allowance that allows the Superfluid Autowrapper contracts to wrap more ENS DAO wallet USDC to USDCx as required.

Calldata: setAutowrapAllowance Simulation: Tenderly

Stream Transition Approach

Overview

All providers will have their SPP2 streams activated as soon as possible, with backpay compensation for the period from May 26, 2025 to activation date.

Implementation Steps

  1. All providers:

    • Activate stream at SPP2 rate as soon as paperwork completes
    • Calculate backpay from May 26 to activation date using the tools
    • Send backpay as one-time USDC payment
  2. Backpay calculation differences:

    • Returning providers: Receive the difference between SPP2 and SPP1 rates (since they've been receiving SPP1 streams)
    • New providers: Receive the full SPP2 rate for the period (since they haven't been receiving any stream)

Backpay Calculation Tools

Available in the tools/ directory:

Both tools calculate the exact backpay amount based on:

  • Provider's SPP2 rate (and SPP1 rate for returning providers)
  • Exact activation date/time
  • Time elapsed since May 26, 2025 11:53 PM UTC

Note: All providers should review their backpay calculations to ensure accuracy.

Example Calculation

Returning Provider (e.g., ETH.LIMO):

  • SPP1 rate: 500k USDC/year, SPP2 rate: 700k USDC/year
  • Time elapsed: 10 days
  • Daily backpay: 547.95 USDC (700k - 500k)/365
  • Total backpay: 5,479.50 USDC

New Provider (e.g., JustaName):

  • SPP2 rate: 300k USDC/year (no SPP1 rate)
  • Time elapsed: 10 days
  • Daily backpay: 821.92 USDC (300k/365)
  • Total backpay: 8,219.20 USDC

Provider Tracking Table

Provider Type SPP1 Rate SPP2 Rate Stream Type Daily Backpay Rate
ETH.LIMO Returning 500,000 USDC 700,000 USDC 2-year 547.95 USDC
Namehash Labs Returning 600,000 USDC 1,100,000 USDC 1-year 1,369.86 USDC
Blockful Returning 300,000 USDC 700,000 USDC 2-year 1,095.89 USDC
Unruggable Returning 400,000 USDC 400,000 USDC 1-year 0.00 USDC
Ethereum Identity Returning 500,000 USDC 500,000 USDC 1-year 0.00 USDC
Namespace Returning 200,000 USDC 400,000 USDC 1-year 547.95 USDC
JustaName New N/A 300,000 USDC 1-year 821.92 USDC
ZK Email New N/A 400,000 USDC 1-year 1,095.89 USDC

Key Contract Addresses

Contract Address Purpose
ENS Treasury (wallet.ensdao.eth) 0xFe89cc7aBB2C4183683ab71653C4cdc9B02D44b7 Source of funds
USDC Token 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 Token being streamed
Stream Management Pod 0xB162Bf7A7fD64eF32b787719335d06B2780e31D1 Intermediate streaming hub
USDCx (Super Token) 0x1ba8603da702602a8657980e825a6daa03dee93a Superfluid wrapper token

Timeline & Urgency

Critical Dates

  • EP 6.3 Vote: February 2025 (approved 4.5M USDC budget and program renewal)
  • EP 6.10 Vote: May 7-12, 2025 (selected SPP2 providers)
  • SPP2 Target Start: May 26, 2025 (2 weeks after EP 6.10)
  • Allowance Depletion: ~August 2025 (at Season 2 rate)

Implementation Priority

Standard Practice: Like SPP1's implementation in February 2024, returning providers continue receiving their existing SPP1 rates while completing paperwork. New providers will have their streams activated once paperwork completes. The backpay compensation method ensures all providers receive their full SPP2 allocation from May 26, 2025 through direct payments.

Historical Context

Original Setup (EP5.2)

  • Budget: 3.6M USDC annually
  • Providers: 9 selected
  • Allowance: 5.4M USDC (5.1M + 300k initial wrap)
  • Flow rate: 0.114155251141552512 USDC/second

Season 2 Approval (EP 6.3)

  • Budget increase: 3.6M USDC → 4.5M USDC (+25%)
  • Provider count: 9 → 8 (6 continuing, 2 new)
  • Selection method: Ranked choice voting
  • Two-tier funding:
    • 2 providers on 2-year streams (1.4M USDC/year)
    • 6 providers on 1-year streams (3.1M USDC/year)

Related Forum Discussions

Core Proposals

Program Discussion

Technical Implementation

Next Steps

  1. Provider allocations confirmed - SPP2 rates defined in EP 6.10

  2. Calculation tools ready - See tools/ directory

  3. Contract state verified:

    • Current USDC allowance: 550,000 USDC (169k on auto-wrapper + 381k USDCx)
    • Current streams: 3.6M USDC/year in, 2.5M USDC/year out (net: 1.1M USDC/year)
    • Superfluid contracts confirmed
  4. Draft executable proposal with four main transactions:

    • Set USDC allowance for USDCx contract
    • Wrap USDC to USDCx (one month funding)
    • Update master stream rate to 4.5M USDC/year
    • Set autowrap allowance for ongoing operations
  5. Submit for DAO vote before allowance depletion (~August 2025)

  6. After proposal execution, for each provider:

    • Calculate exact backpay amount using the tools
    • All providers verify their backpay calculations
    • Execute stream transitions as paperwork completes
    • Send backpay compensations

Notes

  • Superfluid Architecture: No upfront capital lockup; streams forward 100% of received funds
  • Risk Management: Autowrapper limits protect against protocol exploits
  • Governance: Stream Management Safe requires 1/2 signatures for changes. The two signers are:
  • Implementation Pattern: Mirrors SPP1 where providers continued receiving funds while completing paperwork
  • Backpay Compensation: All providers receive backpay payments for the period from May 26, 2025 to stream activation. Returning providers receive the difference between SPP1 and SPP2 rates, while new providers receive the full SPP2 rate for the period.

Testing/Calldata Generation

  • Copy .env.example to .env
  • Set INFURA_API_KEY
  • (Optional) Set TENDERLY_API_KEY, TENDERLY_USERNAME, and TENDERLY_PROJECT to generate Tenderly simulations.
  • Run bun run test/run-it.js

This document serves as the technical specification for implementing Service Provider Program Season 2. All calculations and addresses should be verified before proposal submission.

About

Tracks the ENS SPP Season 2 Streams

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors