From 6eebe920d4d31d0cba694587eab9f26419db924c Mon Sep 17 00:00:00 2001 From: "Alexandro T. Netto" Date: Mon, 28 Sep 2026 14:02:53 -0300 Subject: [PATCH 1/2] Add SPP3 program and providers --- README.md | 2 ++ programs.json | 25 +++++++++++++++++++++++++ providers.json | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) diff --git a/README.md b/README.md index 1936082..61a4aa2 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,8 @@ Streams rarely commence on a quarter boundary, so the first listed quarter is al Any work done before that first quarter (the partial-period stub between `startDate` and the start of the first full quarter) is rolled into the first report; it should not be tracked as a separate report entry. +**Exception — SPP3.** SPP3 providers are bound by the [SPP3 Program Terms](https://github.com/coltron-code/spp3-docs/blob/main/ENS_DAO_Service_Provider_Program_Terms_v1-0.pdf) (clause 6.3), which require a report within 30 days after the end of *each calendar quarter falling within the Term*. Streams started 2026-08-01, so the first report quarter is `2026/Q3`, matching the schedule every SPP3 provider published in its forum reporting thread (`2026/Q3` → `2027/Q2`). + ### Proposal fields | Field | Required | Description | diff --git a/programs.json b/programs.json index 2f8dffb..bc893ff 100644 --- a/programs.json +++ b/programs.json @@ -51,6 +51,31 @@ "snapshotUrl": "https://snapshot.box/#/s:ens.eth/proposal/0x98c65ac02f738ddb430fcd723ea5852a45168550b3daf20f75d5d508ecf28aa1", "docsUrl": "https://docs.ens.domains/dao/proposals/6.10/" } + }, + "SPP3": { + "name": "Service Provider Program Season 3", + "year1Quarters": ["2026/Q3", "2026/Q4", "2027/Q1", "2027/Q2"], + "budget": 3400000, + "startDate": "2026-08-01", + "discussionUrl": "https://discuss.ens.domains/t/21918", + "budgetProposal": { + "id": "EP 6.42", + "title": "Program Authorization", + "description": "Authorized SPP3 with a budget capped at 20% of trailing protocol revenue (~$3.4M) and a named committee to select providers.", + "date": "2026-05-10", + "forumUrl": "https://discuss.ens.domains/t/22086", + "snapshotUrl": "https://snapshot.box/#/s:ens.eth/proposal/0x3e523451340e987e9d3745fb33585bd7136bb6fa8519691ba7b04fa160d4ab7b", + "docsUrl": "https://docs.ens.domains/dao/proposals/6.42/" + }, + "selectionProposal": { + "id": "EP 6.51", + "title": "Cohort Recommendation", + "description": "Ratified via on-chain executable the committee's cohort of 4 providers selected from 26 applications. Originally published as EP 6.49.", + "date": "2026-07-16", + "forumUrl": "https://discuss.ens.domains/t/22237", + "snapshotUrl": "https://vote.ensdao.org/#/onchain/30153206728472299340257495645753485226870528642942223493225654414745632348879", + "docsUrl": "https://docs.ens.domains/dao/proposals/6.51/" + } } } } diff --git a/providers.json b/providers.json index 7a964e4..b47f8f3 100644 --- a/providers.json +++ b/providers.json @@ -72,6 +72,32 @@ "2026/Q1": "https://discuss.ens.domains/t/ethid-efp-spp-financial-and-progress-reports/20102/6" } }, + { + "name": "Fluidkey", + "slug": "fluidkey", + "website": "https://fluidkey.com", + "programs": { + "SPP3": { + "proposalUrl": "https://bronze-accused-porpoise-217.mypinata.cloud/ipfs/bafkreiaplckhk72bu3wuxofgkbdoky7jb3o24kk7olbb6urfaquz2os4sm", + "budget": 340000, + "streamDuration": 1 + } + }, + "reports": {} + }, + { + "name": "Goldsky", + "slug": "goldsky", + "website": "https://goldsky.com", + "programs": { + "SPP3": { + "proposalUrl": "https://bronze-accused-porpoise-217.mypinata.cloud/ipfs/bafybeidblcll7pt7s4jzlte6khv7twiqnckdoalanj2aoemd27afefhyou", + "budget": 450000, + "streamDuration": 1 + } + }, + "reports": {} + }, { "name": "JustaName", "slug": "justaname", @@ -125,6 +151,11 @@ "proposalUrl": "https://discuss.ens.domains/t/spp2-namespace-application/20456", "budget": 400000, "streamDuration": 1 + }, + "SPP3": { + "proposalUrl": "https://bronze-accused-porpoise-217.mypinata.cloud/ipfs/bafybeiee73y2jwinefaszeng3frn47wmqini562qtcibzgnh42cnqiu2la", + "budget": 500000, + "streamDuration": 1 } }, "reports": { @@ -135,6 +166,19 @@ "2026/Q1": "https://discuss.ens.domains/t/namespace-quarterly-reports/19057/9" } }, + { + "name": "Nomentum Labs (Grails)", + "slug": "nomentum-labs", + "website": "https://grails.app", + "programs": { + "SPP3": { + "proposalUrl": "https://discuss.ens.domains/t/22371", + "budget": 500000, + "streamDuration": 1 + } + }, + "reports": {} + }, { "name": "Resolverworks", "slug": "resolverworks", @@ -175,6 +219,11 @@ "proposalUrl": "https://discuss.ens.domains/t/spp2-unruggable-application/20485", "budget": 400000, "streamDuration": 1 + }, + "SPP3": { + "proposalUrl": "https://bronze-accused-porpoise-217.mypinata.cloud/ipfs/bafybeiedajocrvgfnj3y6ec2mrqyt62d46uiyfb6xyqraxyyosvto5tmyq", + "budget": 400000, + "streamDuration": 1 } }, "reports": { From 1319def0dab1486170d62aa3a249fd28c3ed0611 Mon Sep 17 00:00:00 2001 From: "Alexandro T. Netto" Date: Mon, 28 Sep 2026 14:30:55 -0300 Subject: [PATCH 2/2] Add reportDueDays so SPP3 reports are due 30 days after quarter end --- README.md | 3 ++- programs.json | 1 + programs.schema.json | 5 +++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 61a4aa2..9fd5f4d 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,7 @@ Defines each SPP term: quarters, budget, and the governance proposals that creat | `year2Quarters` | No | Second-year quarters (only `streamDuration: 2` providers) | | `budget` | Yes | Total annual budget in USD | | `startDate` | Yes | Date streams commenced (`YYYY-MM-DD`) | +| `reportDueDays` | No | Days after each quarter ends that its report is due, per the program's terms (default `0`: due on the quarter's last day) | | `discussionUrl` | Yes | Initial forum discussion for this program | | `budgetProposal` | Yes | Snapshot vote that defined the budget | | `selectionProposal` | Yes | Snapshot vote that selected providers | @@ -86,7 +87,7 @@ Streams rarely commence on a quarter boundary, so the first listed quarter is al Any work done before that first quarter (the partial-period stub between `startDate` and the start of the first full quarter) is rolled into the first report; it should not be tracked as a separate report entry. -**Exception — SPP3.** SPP3 providers are bound by the [SPP3 Program Terms](https://github.com/coltron-code/spp3-docs/blob/main/ENS_DAO_Service_Provider_Program_Terms_v1-0.pdf) (clause 6.3), which require a report within 30 days after the end of *each calendar quarter falling within the Term*. Streams started 2026-08-01, so the first report quarter is `2026/Q3`, matching the schedule every SPP3 provider published in its forum reporting thread (`2026/Q3` → `2027/Q2`). +**Exception — SPP3.** SPP3 providers are bound by the [SPP3 Program Terms](https://github.com/coltron-code/spp3-docs/blob/main/ENS_DAO_Service_Provider_Program_Terms_v1-0.pdf) (clause 6.3), which require a report within 30 days after the end of *each calendar quarter falling within the Term* (hence `reportDueDays: 30`). Streams started 2026-08-01, so the first report quarter is `2026/Q3`, matching the schedule every SPP3 provider published in its forum reporting thread (`2026/Q3` → `2027/Q2`). ### Proposal fields diff --git a/programs.json b/programs.json index bc893ff..60f74de 100644 --- a/programs.json +++ b/programs.json @@ -57,6 +57,7 @@ "year1Quarters": ["2026/Q3", "2026/Q4", "2027/Q1", "2027/Q2"], "budget": 3400000, "startDate": "2026-08-01", + "reportDueDays": 30, "discussionUrl": "https://discuss.ens.domains/t/21918", "budgetProposal": { "id": "EP 6.42", diff --git a/programs.schema.json b/programs.schema.json index 190f332..7a6eb60 100644 --- a/programs.schema.json +++ b/programs.schema.json @@ -98,6 +98,11 @@ "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "Date streams commenced." }, + "reportDueDays": { + "type": "integer", + "minimum": 0, + "description": "Days after the end of each quarter by which the report is due, per the program's terms. Defaults to 0 (due on the last day of the quarter)." + }, "discussionUrl": { "$ref": "#/$defs/Url", "description": "Initial forum discussion for this program."