From 8725b6427f7dbe6c752534408b7d166ac8c616ee Mon Sep 17 00:00:00 2001 From: Bryant Soorkia <0xbryants@gmail.com> Date: Mon, 15 Jun 2026 22:26:44 +0800 Subject: [PATCH 1/6] Add FOLD tokenomics page and Frequently Asked Questions section - Tokenomics page (/tokenomics): allocation donut + legend, cumulative vesting stacked-area chart, vesting terms table, key-parameter cards, with interactive hover. Token amounts rounded to whole-percent shares. - Frequently Asked Questions section (/faq): "FOLD Token" and "The Interfold Public Sale" pages, grouped under a new "FOLD Token" sidebar section alongside Tokenomics. - Banner updated to "Enclave is now The Interfold". - Introduction naming note updated to reference Enclave. - Mobile responsiveness for the tokenomics components; hide in-page heading anchors from the mobile sidebar drawer. - Auto-scroll the sidebar when a folder is expanded. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../Tokenomics/Tokenomics.module.css | 254 ++++++++++++ docs/components/Tokenomics/index.tsx | 383 ++++++++++++++++++ docs/pages/_app.tsx | 29 +- docs/pages/_meta.json | 10 + docs/pages/faq/_meta.json | 8 + docs/pages/faq/fold-token.mdx | 45 ++ docs/pages/faq/public-sale.mdx | 75 ++++ docs/pages/introduction.mdx | 4 +- docs/pages/tokenomics.mdx | 32 ++ docs/styles/globals.css | 13 + docs/theme.config.jsx | 4 +- 11 files changed, 852 insertions(+), 5 deletions(-) create mode 100644 docs/components/Tokenomics/Tokenomics.module.css create mode 100644 docs/components/Tokenomics/index.tsx create mode 100644 docs/pages/faq/_meta.json create mode 100644 docs/pages/faq/fold-token.mdx create mode 100644 docs/pages/faq/public-sale.mdx create mode 100644 docs/pages/tokenomics.mdx diff --git a/docs/components/Tokenomics/Tokenomics.module.css b/docs/components/Tokenomics/Tokenomics.module.css new file mode 100644 index 0000000000..e922c2e757 --- /dev/null +++ b/docs/components/Tokenomics/Tokenomics.module.css @@ -0,0 +1,254 @@ +/* SPDX-License-Identifier: LGPL-3.0-only */ + +.stats { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); + gap: 1rem; + margin: 1.5rem 0 2.5rem; +} + +.statCard { + background: #ffffff; + border: 1px solid rgba(15, 23, 42, 0.08); + border-radius: 12px; + padding: 1.1rem 1.25rem; + box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04); +} + +.statLabel { + font-size: 0.72rem; + text-transform: uppercase; + letter-spacing: 0.08em; + color: #6b7280; + margin: 0 0 0.4rem; +} + +.statValue { + font-size: 1.5rem; + font-weight: 600; + color: #0f2233; + line-height: 1.1; +} + +.statSub { + font-size: 0.78rem; + color: #9aa3b0; + margin-top: 0.25rem; +} + +/* Allocation */ +.allocation { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 2rem; + background: #ffffff; + border: 1px solid rgba(15, 23, 42, 0.08); + border-radius: 16px; + padding: 1.75rem; + margin: 1.5rem 0 2.5rem; + box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04); +} + +.legend tr { + transition: background 0.15s ease; +} + +.tooltip { + position: absolute; + pointer-events: none; + transform: translate(-50%, -135%); + background: #0f2233; + color: #ffffff; + font-size: 0.8rem; + font-weight: 500; + padding: 0.35rem 0.6rem; + border-radius: 8px; + white-space: nowrap; + box-shadow: 0 6px 16px rgba(15, 23, 42, 0.22); + z-index: 5; +} + +.tooltipSub { + margin-left: 0.45rem; + opacity: 0.65; + font-weight: 400; +} + +.pieWrap { + flex: 0 0 auto; + margin: 0 auto; + max-width: 100%; +} + +.pieWrap svg { + display: block; + max-width: 100%; + height: auto; +} + +.legend { + flex: 1 1 320px; + min-width: 0; + border-collapse: collapse; + width: 100%; + font-size: 0.92rem; +} + +.legend th { + text-align: left; + font-size: 0.7rem; + text-transform: uppercase; + letter-spacing: 0.06em; + color: #9aa3b0; + font-weight: 600; + padding: 0 0.5rem 0.6rem; + border-bottom: 1px solid rgba(15, 23, 42, 0.08); +} + +.legend td { + padding: 0.55rem 0.5rem; + border-bottom: 1px solid rgba(15, 23, 42, 0.05); + color: #243240; +} + +.legend tr:last-child td { + border-bottom: none; +} + +.legend .num { + text-align: right; + font-variant-numeric: tabular-nums; + white-space: nowrap; +} + +.legend .center { + text-align: center; + font-variant-numeric: tabular-nums; + white-space: nowrap; +} + +.swatch { + display: inline-block; + width: 12px; + height: 12px; + border-radius: 3px; + margin-right: 0.6rem; + vertical-align: -1px; +} + +.catCell { + font-weight: 500; +} + +/* Vesting */ +.vesting { + position: relative; + background: #ffffff; + border: 1px solid rgba(15, 23, 42, 0.08); + border-radius: 16px; + padding: 1.5rem 1.25rem; + margin: 1.5rem 0 1rem; + box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04); +} + +.svgScroll { + overflow-x: auto; +} + +.vtableWrap { + margin-top: 1.25rem; + padding-top: 1rem; + border-top: 1px solid rgba(15, 23, 42, 0.07); +} + +.vlegendItem { + transition: opacity 0.15s ease; +} + +.vestingNote { + font-size: 0.82rem; + color: #9aa3b0; + margin: 0 0 1.5rem; +} + +.tableCard { + background: #ffffff; + border: 1px solid rgba(15, 23, 42, 0.08); + border-radius: 16px; + padding: 1.25rem 1.5rem; + margin: 1.5rem 0 1rem; + box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04); + overflow-x: auto; +} + +.vlegend { + display: flex; + flex-wrap: wrap; + gap: 0.55rem 1.5rem; + margin-top: 1.25rem; + padding-top: 1.25rem; + border-top: 1px solid rgba(15, 23, 42, 0.07); +} + +.vlegendItem { + display: flex; + align-items: center; + font-size: 0.88rem; +} + +.vname { + font-weight: 500; + color: #243240; +} + +/* Mobile */ +@media (max-width: 640px) { + .stats { + grid-template-columns: repeat(2, 1fr); + gap: 0.6rem; + margin: 1.25rem 0 2rem; + } + + .statCard { + padding: 0.85rem 0.9rem; + } + + .statValue { + font-size: 1.25rem; + } + + .allocation { + flex-direction: column; + align-items: stretch; + gap: 1.25rem; + padding: 1.1rem; + border-radius: 14px; + } + + .legend { + flex: 1 1 auto; + font-size: 0.82rem; + } + + .legend th, + .legend td { + padding-left: 0.3rem; + padding-right: 0.3rem; + } + + .swatch { + margin-right: 0.4rem; + } + + .vesting { + padding: 1.1rem 0.85rem; + border-radius: 14px; + } + + /* Hover tooltip is not useful on touch; the table below conveys the same info */ + .tooltip { + display: none; + } +} diff --git a/docs/components/Tokenomics/index.tsx b/docs/components/Tokenomics/index.tsx new file mode 100644 index 0000000000..7f2b24472e --- /dev/null +++ b/docs/components/Tokenomics/index.tsx @@ -0,0 +1,383 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +import React, { useRef, useState } from 'react' +import classes from './Tokenomics.module.css' + +// --------------------------------------------------------------------------- +// Source data — Token Distribution Scheme (tab 1 of the allocation sheet) +// --------------------------------------------------------------------------- + +export const TOTAL_SUPPLY = 1_200_000_000 + +type Slice = { + key: string + pct: number + tokens: number + color: string +} + +// Ordered largest → smallest. Colours are a cohesive cool/azure palette +// anchored on the docs' primary hue (203) so the charts match the theme. +const ALLOCATION: Slice[] = [ + { key: 'Community Grants & Treasury', pct: 43, tokens: 516_000_000, color: '#075E9D' }, + { key: 'Gnosis Guild', pct: 20, tokens: 240_000_000, color: '#009DFF' }, + { key: 'Investors', pct: 15, tokens: 180_000_000, color: '#38BDF8' }, + { key: 'Uniswap CCA', pct: 10, tokens: 120_000_000, color: '#0D9488' }, + { key: 'Early Contributors', pct: 4, tokens: 48_000_000, color: '#2DD4BF' }, + { key: 'Airdrop', pct: 4, tokens: 48_000_000, color: '#6366F1' }, + { key: 'Liquidity Reserves', pct: 3, tokens: 36_000_000, color: '#818CF8' }, + { key: 'Advisors', pct: 1, tokens: 12_000_000, color: '#94A3B8' }, +] + +const COLOR_BY_KEY: Record = Object.fromEntries( + ALLOCATION.map(s => [s.key, s.color]), +) + +// --------------------------------------------------------------------------- +// Helpers +// --------------------------------------------------------------------------- + +const fmtInt = (n: number) => n.toLocaleString('en-US') + +const fmtPct = (n: number) => `${Math.round(n)}%` + +const fmtCompact = (n: number) => { + if (n >= 1e9) return `${(n / 1e9).toFixed(n % 1e9 === 0 ? 0 : 2)}B` + if (n >= 1e6) return `${Math.round(n / 1e6)}M` + return fmtInt(n) +} + +function polar(cx: number, cy: number, r: number, angleDeg: number): [number, number] { + const a = ((angleDeg - 90) * Math.PI) / 180 + return [cx + r * Math.cos(a), cy + r * Math.sin(a)] +} + +function donutSlice( + cx: number, + cy: number, + rOuter: number, + rInner: number, + start: number, + end: number, +): string { + const [x1, y1] = polar(cx, cy, rOuter, end) + const [x2, y2] = polar(cx, cy, rOuter, start) + const [x3, y3] = polar(cx, cy, rInner, start) + const [x4, y4] = polar(cx, cy, rInner, end) + const large = end - start > 180 ? 1 : 0 + return [ + `M ${x1} ${y1}`, + `A ${rOuter} ${rOuter} 0 ${large} 0 ${x2} ${y2}`, + `L ${x3} ${y3}`, + `A ${rInner} ${rInner} 0 ${large} 1 ${x4} ${y4}`, + 'Z', + ].join(' ') +} + +// --------------------------------------------------------------------------- +// Key parameters +// --------------------------------------------------------------------------- + +export function KeyParameters() { + const cards = [ + { label: 'Total Supply', value: '1.2B' }, + { label: 'Circulating Supply at TGE', value: '15%' }, + { label: 'Fully Vested', value: '48 mo' }, + ] + return ( +
+ {cards.map(c => ( +
+

{c.label}

+
{c.value}
+
+ ))} +
+ ) +} + +// --------------------------------------------------------------------------- +// Allocation donut + legend +// --------------------------------------------------------------------------- + +export function AllocationPie() { + const size = 260 + const cx = size / 2 + const cy = size / 2 + const rOuter = 122 + const rInner = 74 + const POP = 7 + + const [hover, setHover] = useState(null) + const [pos, setPos] = useState({ x: 0, y: 0 }) + const wrapRef = useRef(null) + + let cursor = 0 + const total = ALLOCATION.reduce((s, d) => s + d.pct, 0) + const arcs = ALLOCATION.map(d => { + const start = (cursor / total) * 360 + cursor += d.pct + const end = (cursor / total) * 360 + const mid = (((start + end) / 2 - 90) * Math.PI) / 180 + return { ...d, start, end, dx: Math.cos(mid) * POP, dy: Math.sin(mid) * POP } + }) + + const hovered = ALLOCATION.find(d => d.key === hover) + + const onMove = (e: React.MouseEvent) => { + const r = wrapRef.current?.getBoundingClientRect() + if (r) setPos({ x: e.clientX - r.left, y: e.clientY - r.top }) + } + + return ( +
+
+ + {arcs.map(a => { + const isHover = hover === a.key + return ( + setHover(a.key)} + onMouseLeave={() => setHover(null)} + /> + ) + })} + + 1.2B + + + TOTAL SUPPLY + + +
+ + + + + + + + + + + {ALLOCATION.map(d => ( + setHover(d.key)} + onMouseLeave={() => setHover(null)} + style={{ background: hover === d.key ? 'rgba(15,23,42,0.05)' : undefined }} + > + + + + + ))} + +
CategorySupplyTokens
+ + {d.key} + {fmtPct(d.pct)}{fmtInt(d.tokens)}
+ + {hovered && ( +
+ {hovered.key} +
+ )} +
+ ) +} + +// --------------------------------------------------------------------------- +// Vesting schedule — cumulative stacked-area chart (circulating supply) +// --------------------------------------------------------------------------- + +type Vest = { + key: string + total: number // tokens + vestMonths: number // linear duration; 1 = fully unlocked at TGE + term: string +} + +// Bottom → top stacking order (flat/immediate at the base, long linear vests on +// top). Early Contributors is omitted — the source sheet defines no schedule. +const VESTING: Vest[] = [ + { key: 'Liquidity Reserves', total: 36_000_000, vestMonths: 1, term: '100% at TGE' }, + { key: 'Uniswap CCA', total: 120_000_000, vestMonths: 1, term: '100% at TGE' }, + { key: 'Airdrop', total: 48_000_000, vestMonths: 24, term: '24-month linear unlock' }, + { key: 'Advisors', total: 12_000_000, vestMonths: 24, term: '24-month linear unlock' }, + { key: 'Investors', total: 180_000_000, vestMonths: 24, term: '24-month linear unlock' }, + { key: 'Gnosis Guild', total: 240_000_000, vestMonths: 48, term: '48-month linear unlock' }, + { key: 'Community Grants & Treasury', total: 516_000_000, vestMonths: 48, term: '48-month linear unlock' }, +] + +// Vesting terms table — same order as the allocation table (largest → smallest +// share). Cliffs are all zero in the source schedule. Early Contributors omitted. +const VESTING_TERMS = [ + { key: 'Community Grants & Treasury', cliff: 'None', schedule: '48 months' }, + { key: 'Gnosis Guild', cliff: 'None', schedule: '48 months' }, + { key: 'Investors', cliff: 'None', schedule: '24 months' }, + { key: 'Uniswap CCA', cliff: 'None', schedule: '100% at TGE' }, + { key: 'Airdrop', cliff: 'None', schedule: '24 months' }, + { key: 'Liquidity Reserves', cliff: 'None', schedule: '100% at TGE' }, + { key: 'Advisors', cliff: 'None', schedule: '24 months' }, + { key: 'Early Contributors', cliff: 'None', schedule: '100% at TGE' }, +] + +const MONTHS_AXIS = 48 +const X_TICKS = [0, 12, 24, 36, 48] +const X_LABELS = ['TGE', '12 mo', '24 mo', '36 mo', '48 mo'] +const Y_MAX = 1_200_000_000 +const Y_TICKS = [0, 300_000_000, 600_000_000, 900_000_000, 1_200_000_000] +const Y_LABELS = ['0', '300M', '600M', '900M', '1.2B'] + +// Cumulative tokens unlocked for a category at month t (first tranche at TGE). +function cumulative(v: Vest, t: number): number { + return (v.total * Math.min(t + 1, v.vestMonths)) / v.vestMonths +} + +export function VestingSchedule() { + const W = 860 + const H = 380 + const padL = 56 + const padR = 24 + const padT = 24 + const padB = 48 + const plotW = W - padL - padR + const plotH = H - padT - padB + + const x = (t: number) => padL + (t / MONTHS_AXIS) * plotW + const y = (v: number) => padT + plotH - (v / Y_MAX) * plotH + + // Build cumulative stacked boundaries for each band. + const months = Array.from({ length: MONTHS_AXIS + 1 }, (_, t) => t) + let running = months.map(() => 0) + const bands = VESTING.map(v => { + const lower = running.slice() + const upper = months.map((t, i) => lower[i] + cumulative(v, t)) + running = upper + // polygon: upper boundary L→R, then lower boundary R→L + const top = months.map((t, i) => `${x(t).toFixed(1)},${y(upper[i]).toFixed(1)}`) + const bot = months.map((t, i) => `${x(t).toFixed(1)},${y(lower[i]).toFixed(1)}`).reverse() + return { key: v.key, color: COLOR_BY_KEY[v.key], d: `M ${top.join(' L ')} L ${bot.join(' L ')} Z` } + }) + + const [hover, setHover] = useState(null) + const [tip, setTip] = useState(false) + const [pos, setPos] = useState({ x: 0, y: 0 }) + const wrapRef = useRef(null) + + const onMove = (e: React.MouseEvent) => { + const r = wrapRef.current?.getBoundingClientRect() + if (r) setPos({ x: e.clientX - r.left, y: e.clientY - r.top }) + } + + return ( +
+
+ + {/* horizontal gridlines + y labels */} + {Y_TICKS.map((t, i) => ( + + + + {Y_LABELS[i]} + + + ))} + + {/* stacked area bands */} + {bands.map(b => { + const isHover = hover === b.key + return ( + { + setHover(b.key) + setTip(true) + }} + onMouseLeave={() => { + setHover(null) + setTip(false) + }} + /> + ) + })} + + {/* x ticks + labels */} + {X_TICKS.map((m, i) => ( + + + + {X_LABELS[i]} + + + ))} + + +
+ +
+ + + + + + + + + {VESTING_TERMS.map(v => ( + { + setHover(v.key) + setTip(false) + }} + onMouseLeave={() => setHover(null)} + style={{ background: hover === v.key ? 'rgba(15,23,42,0.05)' : undefined }} + > + + + + ))} + +
CategoryLinear Unlock
+ + {v.key} + {v.schedule}
+
+ + {tip && hover && ( +
+ {hover} +
+ )} +
+ ) +} diff --git a/docs/pages/_app.tsx b/docs/pages/_app.tsx index 6873a1c71e..22f89ad10a 100644 --- a/docs/pages/_app.tsx +++ b/docs/pages/_app.tsx @@ -4,12 +4,39 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. -import React from 'react' +import React, { useEffect } from 'react' import type { AppProps } from 'next/app' import 'katex/dist/katex.min.css' import '../styles/globals.css' +// When a sidebar folder is expanded, scroll its submenu into view so the +// newly revealed sub-pages are visible (Nextra doesn't do this by default, +// which hides children of folders sitting at the bottom of the sidebar). +function useSidebarAutoScroll() { + useEffect(() => { + const onClick = (e: MouseEvent) => { + const target = e.target as HTMLElement | null + const btn = target?.closest('.nextra-sidebar-container button') + if (!btn) return + const li = btn.closest('li') + if (!li) return + // Wait for the expand/collapse animation to settle, then, if the folder + // is now open, bring its last child into view. + window.setTimeout(() => { + const submenu = li.querySelector('ul') + if (submenu && submenu.getBoundingClientRect().height > 0) { + const last = (submenu.lastElementChild as HTMLElement | null) ?? submenu + last.scrollIntoView({ behavior: 'smooth', block: 'nearest' }) + } + }, 220) + } + document.addEventListener('click', onClick) + return () => document.removeEventListener('click', onClick) + }, []) +} + function App({ Component, pageProps }: AppProps) { + useSidebarAutoScroll() return ( <> diff --git a/docs/pages/_meta.json b/docs/pages/_meta.json index 42af36b50c..05983c2f66 100644 --- a/docs/pages/_meta.json +++ b/docs/pages/_meta.json @@ -119,5 +119,15 @@ }, "whitepaper": { "title": "Whitepaper" + }, + "-- FOLD Token": { + "type": "separator", + "title": "FOLD Token" + }, + "tokenomics": { + "title": "Tokenomics" + }, + "faq": { + "title": "Frequently Asked Questions" } } diff --git a/docs/pages/faq/_meta.json b/docs/pages/faq/_meta.json new file mode 100644 index 0000000000..3131dfce2a --- /dev/null +++ b/docs/pages/faq/_meta.json @@ -0,0 +1,8 @@ +{ + "fold-token": { + "title": "FOLD Token" + }, + "public-sale": { + "title": "The Interfold Public Sale" + } +} diff --git a/docs/pages/faq/fold-token.mdx b/docs/pages/faq/fold-token.mdx new file mode 100644 index 0000000000..1c547b4380 --- /dev/null +++ b/docs/pages/faq/fold-token.mdx @@ -0,0 +1,45 @@ +--- +title: 'FOLD Token' +description: + 'Frequently asked questions about the FOLD token — its purpose, utility, and role in The Interfold protocol' +--- + +# FOLD Token + +## Why does The Interfold need a token? + +The Interfold protocol produces Encrypted Execution Environments (E3s) for applications that require +distributed, private computation. As a network with no centralised authority, an economic mechanism +is required to programmatically enable the transfer of E3s from supply parties to demand parties. +This is made possible through the FOLD utility token. + +## What is the utility of the FOLD token? + +FOLD has four main, interlocking functions: + +- **License bond** — Ciphernode operators stake FOLD to meet the eligibility requirements to run a + ciphernode. This bond is locked for the duration of its operations and is subject to a debonding + period upon deregistration. It is slashable for misbehaviour, providing economic uptime guarantees + to the network. +- **Payments** — Applications must first acquire FOLD in order to pay for E3 requests. +- **Operator rewards** — Operators earn FOLD for each E3 program they successfully participate in + creating. This FOLD is distributed proportionally across each ciphernode set (also referred to as a + committee) that was assigned to produce it. +- **Governance** — FOLD holders will be able to participate in governance decisions via the Interfold + DAO. Governance is performed through a secret-ballot voting application that utilises The + Interfold's E3s, further compounding the utility of FOLD. + +## How can I use my FOLD tokens to operate a ciphernode? + +Operating a ciphernode is permissionless and open to anyone holding sufficient FOLD. The setup +involves provisioning cloud-based or personal hardware, running the ciphernode software, and +completing on-chain registration to begin participating in E3 committees. For full instructions, +please refer to the [Ciphernode Operators](/ciphernode-operators) documentation. + +## I don't want to run a Ciphernode. Can I delegate my FOLD? + +No. The Interfold's staking model is deliberately operator-only. Every FOLD bonded to a ciphernode +represents capital at risk to the operator running it. Delegated capital would allow operators to run +partially owned ciphernodes, diluting accountability and weakening the network's economic security +guarantees. We encourage all FOLD token holders to participate in ciphernode operations. If you need +help, please reach out to the team on Discord. diff --git a/docs/pages/faq/public-sale.mdx b/docs/pages/faq/public-sale.mdx new file mode 100644 index 0000000000..786c6afad6 --- /dev/null +++ b/docs/pages/faq/public-sale.mdx @@ -0,0 +1,75 @@ +--- +title: 'The Interfold Public Sale FAQs' +description: + 'Frequently asked questions about The Interfold public token sale — the Uniswap Continuous Clearing Auction, eligibility, holding periods, and KYC' +--- + +import { Callout } from 'nextra/components' + +# The Interfold Public Sale + +In order to ensure fair participation, The Interfold public sale will be held as a Uniswap Continuous +Clearing Auction. + +## What is a Uniswap Continuous Clearing Auction? + +A Continuous Clearing Auction (CCA) is a price-discovery mechanism for public token sales built on +Uniswap infrastructure. The sale runs across multiple discrete periods. In each period, bidders +submit either market orders (accepting any clearing price above the floor) or capped orders +(specifying a maximum FDV). At the end of each period, a single uniform clearing price is set, and +every successful bidder in that period pays the same price. The floor for each subsequent period is +the greater of the original floor or the previous period's clearing price, so the price can move up +but never down. Unsold tokens roll into the final period. CCAs eliminate gas wars, prevent sniping, +and allow clearing prices to emerge from collective demand. The result is a fair auction for all +participants. + +## Where can I participate in the Interfold Public Token Sale? + +You will be able to participate in the Interfold public token sale directly from within Uniswap's +Continuous Clearing Auction section of the Uniswap website. + + +The Interfold public sale is **not yet available**. Any currently active link to a public sale is a +**scam** — do **not** click it. The official Interfold X account is +[@theinterfold](https://x.com/theinterfold); please follow it for official updates. + + +## Who can participate in the Interfold Public Token Sale? + +The Interfold public token sale is open to non-US, non-UK individuals from non-sanctioned countries +and non-sanctioned programs only. + +## Is there any holding period associated with FOLD purchased during the Interfold public sale? + +Yes. Tokens purchased in the Interfold public sale are subject to a holding period. + +A 'holding period' is the period during which tokens purchased in the Interfold public sale cannot be +used to trade on the open market. + +Non-US, non-UK participants from non-sanctioned countries and non-sanctioned programs are subject to +a holding period of 45 days. + +Non-sanctioned countries and non-sanctioned programs are determined by reference to the OFAC +sanctions programs and country information, available at +[ofac.treasury.gov](https://ofac.treasury.gov/sanctions-programs-and-country-information). + +## Do I need to complete KYC to participate? + +KYC requirements depend on the participant category you fall into: + +- Non-US, non-UK participants from non-sanctioned countries and non-sanctioned programs are not + required to complete KYC. +- If you do not fall within this category, you may be required to complete KYC. + +## How long will the Interfold public token sale last? + +The Interfold public token sale will run for a maximum of 5 days, or until all available tokens are +sold out, whichever occurs first. Participants can freely place bids at any point during this window. + +## Why should I participate in the Interfold public token sale when I can just wait to buy it on the open market? + +The Interfold public sale is expected to launch at a significantly lower fully diluted valuation than +the one at which FOLD is expected to begin trading. The Uniswap Continuous Clearing Auction mechanism +allows the clearing price to increase incrementally as demand develops, but never to decrease. Early +participants can therefore secure tokens at a lower fair-market price than would be expected on the +open market. diff --git a/docs/pages/introduction.mdx b/docs/pages/introduction.mdx index 0f73b26015..ef7d1c4e02 100644 --- a/docs/pages/introduction.mdx +++ b/docs/pages/introduction.mdx @@ -2,8 +2,8 @@ > **Note on naming** > -> The Interfold was previously known as **Interfold**. -> Some repositories, package names, and CLI commands may still use `interfold` while the transition +> The Interfold was previously known as **Enclave**. +> Some repositories, package names, and CLI commands may still use `enclave` while the transition > is in progress. > > These references will be updated over time and do not affect functionality. diff --git a/docs/pages/tokenomics.mdx b/docs/pages/tokenomics.mdx new file mode 100644 index 0000000000..2994c34477 --- /dev/null +++ b/docs/pages/tokenomics.mdx @@ -0,0 +1,32 @@ +--- +title: 'Interfold Tokenomics' +description: + 'An overview of the Interfold token: total supply, allocation across categories, and the vesting schedule' +--- + +import { KeyParameters, AllocationPie, VestingSchedule } from '../components/Tokenomics' + +# FOLD Tokenomics + +The FOLD token is designed to sustain long-term security and growth of the protocol. This page +summarises the token's total supply, how it is allocated, and the schedule by which tokens are +released into circulation. + + + +## Token Distribution + +The total supply of FOLD is 1.2 billion. + +The chart below illustrates how total supply is allocated across each category. + + + +## Vesting Schedule + +Vesting commences at TGE. + +TGE can be defined as the earliest point at which tokens become transferable. All vested tokens vest +linearly, as illustrated in the chart below. + + diff --git a/docs/styles/globals.css b/docs/styles/globals.css index 15c266c6f2..ab02fa349c 100644 --- a/docs/styles/globals.css +++ b/docs/styles/globals.css @@ -14,3 +14,16 @@ body { img { border-radius: 10px; } + +/* On mobile, Nextra merges the active page's in-page heading anchors (#...) into + the sidebar drawer (there is no right-hand "On this page" rail on small + screens). That clutters the menu, so hide those heading anchors on mobile — + page and section navigation still works. */ +@media (max-width: 767px) { + .nextra-sidebar-container a[href^='#'] { + display: none; + } + .nextra-sidebar-container ul:has(> li > a[href^='#']) { + display: none; + } +} diff --git a/docs/theme.config.jsx b/docs/theme.config.jsx index 040d457a3e..3b26af5490 100644 --- a/docs/theme.config.jsx +++ b/docs/theme.config.jsx @@ -17,10 +17,10 @@ export default { logoLink: false, banner: { - key: 'interfold-rename', + key: 'enclave-rename', text: ( - Interfold is now The Interfold. Documentation is being updated. + Enclave is now The Interfold. Documentation is being updated. ), }, From 69623e0c3c3d6a70843340bbf396488f661b8f80 Mon Sep 17 00:00:00 2001 From: Bryant Soorkia <0xbryants@gmail.com> Date: Wed, 17 Jun 2026 16:38:28 +0700 Subject: [PATCH 2/6] docs: revise tokenomics and auction/FAQ content per source doc --- docs/components/Tokenomics/index.tsx | 13 ++--- docs/pages/faq/_meta.json | 4 +- docs/pages/faq/auction.mdx | 73 +++++++++++++++++++++++++++ docs/pages/faq/fold-token.mdx | 65 ++++++++++++++---------- docs/pages/faq/public-sale.mdx | 75 ---------------------------- docs/pages/tokenomics.mdx | 15 +++--- 6 files changed, 125 insertions(+), 120 deletions(-) create mode 100644 docs/pages/faq/auction.mdx delete mode 100644 docs/pages/faq/public-sale.mdx diff --git a/docs/components/Tokenomics/index.tsx b/docs/components/Tokenomics/index.tsx index 7f2b24472e..4c5b5346f9 100644 --- a/docs/components/Tokenomics/index.tsx +++ b/docs/components/Tokenomics/index.tsx @@ -23,11 +23,10 @@ type Slice = { // Ordered largest → smallest. Colours are a cohesive cool/azure palette // anchored on the docs' primary hue (203) so the charts match the theme. const ALLOCATION: Slice[] = [ - { key: 'Community Grants & Treasury', pct: 43, tokens: 516_000_000, color: '#075E9D' }, + { key: 'Community Grants & Treasury', pct: 47, tokens: 564_000_000, color: '#075E9D' }, { key: 'Gnosis Guild', pct: 20, tokens: 240_000_000, color: '#009DFF' }, { key: 'Investors', pct: 15, tokens: 180_000_000, color: '#38BDF8' }, { key: 'Uniswap CCA', pct: 10, tokens: 120_000_000, color: '#0D9488' }, - { key: 'Early Contributors', pct: 4, tokens: 48_000_000, color: '#2DD4BF' }, { key: 'Airdrop', pct: 4, tokens: 48_000_000, color: '#6366F1' }, { key: 'Liquidity Reserves', pct: 3, tokens: 36_000_000, color: '#818CF8' }, { key: 'Advisors', pct: 1, tokens: 12_000_000, color: '#94A3B8' }, @@ -85,8 +84,7 @@ function donutSlice( export function KeyParameters() { const cards = [ { label: 'Total Supply', value: '1.2B' }, - { label: 'Circulating Supply at TGE', value: '15%' }, - { label: 'Fully Vested', value: '48 mo' }, + { label: 'Circulating Supply at TGE', value: '17%' }, ] return (
@@ -215,7 +213,7 @@ type Vest = { } // Bottom → top stacking order (flat/immediate at the base, long linear vests on -// top). Early Contributors is omitted — the source sheet defines no schedule. +// top). const VESTING: Vest[] = [ { key: 'Liquidity Reserves', total: 36_000_000, vestMonths: 1, term: '100% at TGE' }, { key: 'Uniswap CCA', total: 120_000_000, vestMonths: 1, term: '100% at TGE' }, @@ -223,11 +221,11 @@ const VESTING: Vest[] = [ { key: 'Advisors', total: 12_000_000, vestMonths: 24, term: '24-month linear unlock' }, { key: 'Investors', total: 180_000_000, vestMonths: 24, term: '24-month linear unlock' }, { key: 'Gnosis Guild', total: 240_000_000, vestMonths: 48, term: '48-month linear unlock' }, - { key: 'Community Grants & Treasury', total: 516_000_000, vestMonths: 48, term: '48-month linear unlock' }, + { key: 'Community Grants & Treasury', total: 564_000_000, vestMonths: 48, term: '48-month linear unlock' }, ] // Vesting terms table — same order as the allocation table (largest → smallest -// share). Cliffs are all zero in the source schedule. Early Contributors omitted. +// share). Cliffs are all zero in the source schedule. const VESTING_TERMS = [ { key: 'Community Grants & Treasury', cliff: 'None', schedule: '48 months' }, { key: 'Gnosis Guild', cliff: 'None', schedule: '48 months' }, @@ -236,7 +234,6 @@ const VESTING_TERMS = [ { key: 'Airdrop', cliff: 'None', schedule: '24 months' }, { key: 'Liquidity Reserves', cliff: 'None', schedule: '100% at TGE' }, { key: 'Advisors', cliff: 'None', schedule: '24 months' }, - { key: 'Early Contributors', cliff: 'None', schedule: '100% at TGE' }, ] const MONTHS_AXIS = 48 diff --git a/docs/pages/faq/_meta.json b/docs/pages/faq/_meta.json index 3131dfce2a..b44b88bd64 100644 --- a/docs/pages/faq/_meta.json +++ b/docs/pages/faq/_meta.json @@ -2,7 +2,7 @@ "fold-token": { "title": "FOLD Token" }, - "public-sale": { - "title": "The Interfold Public Sale" + "auction": { + "title": "The Interfold Auction" } } diff --git a/docs/pages/faq/auction.mdx b/docs/pages/faq/auction.mdx new file mode 100644 index 0000000000..72011a8337 --- /dev/null +++ b/docs/pages/faq/auction.mdx @@ -0,0 +1,73 @@ +--- +title: 'The Interfold Auction' +description: + 'Frequently asked questions about the FOLD token auction — the Uniswap Continuous Clearing Auction, eligibility, holding period, and KYC' +--- + +import { Callout } from 'nextra/components' + +# The Interfold Auction + +The initial public distribution of FOLD will take place through a Uniswap Continuous Clearing Auction +(CCA). The auction is designed to distribute tokens progressively and establish a clearing price +through participant demand. + +## What is a Uniswap Continuous Clearing Auction? + +A Continuous Clearing Auction (CCA) is a price-discovery mechanism for token sales built on Uniswap +infrastructure. + +- The auction runs across multiple discrete periods. +- Participants submit either a market order or a capped order that sets the maximum price they are + willing to pay. +- At the end of each period, all successful participants pay the same clearing price. +- The minimum price for each subsequent period is the greater of the original floor or the previous + period's clearing price, so the price may rise but does not fall. +- Any tokens not distributed earlier remain available in the final period. + +By distributing tokens progressively and applying a uniform price within each period, the CCA is +designed to reduce gas competition, prevent sniping, and allow clearing prices to develop through +participant demand. The result is a fair auction for all participants. + +[Read more about Uniswap CCAs](https://cca.uniswap.org). + +## Where can I participate in the FOLD token auction? + +The FOLD token auction will be accessible through the Uniswap web app. The official auction page, +participation instructions, and relevant contract details will be published through Interfold's +verified channels before the auction opens. + + +The auction is **not yet live**. Treat any currently active link claiming to offer access to the +FOLD auction or FOLD tokens as **fraudulent**. + + +Official updates will only be published through: + +- [Interfold website](https://theinterfold.com/) +- [Interfold X account](https://x.com/theinterfold) + +## Who can participate in the FOLD token auction? + +The auction is available to eligible non-US, non-UK participants who are not subject to applicable +sanctions or other legal restrictions. Additional restrictions may apply based on jurisdiction, +residence, citizenship, entity status, sanctions screening, or other legal requirements. A list of +sanctioned parties is available at +[ofac.treasury.gov](https://ofac.treasury.gov/sanctions-programs-and-country-information). + +## Is there any holding period associated with FOLD purchased during the FOLD token auction? + +Yes. Tokens purchased in the FOLD token auction are subject to a holding period of 45 days. During +this period, FOLD cannot be used for any other activity other than ciphernode bonding. + +After this period concludes, all restrictions are lifted. + +## Do I need to complete KYC to participate? + +Yes. All participants must complete KYC through our third-party provider, Predicate, to verify non-US +status and confirm they are not subject to sanctions. + +## How long will the FOLD token auction last? + +The FOLD token auction will open with a 48-hour pre-sale window for participants to register and +complete verification, followed by a 48-hour bidding window. diff --git a/docs/pages/faq/fold-token.mdx b/docs/pages/faq/fold-token.mdx index 1c547b4380..6055e08cea 100644 --- a/docs/pages/faq/fold-token.mdx +++ b/docs/pages/faq/fold-token.mdx @@ -4,42 +4,55 @@ description: 'Frequently asked questions about the FOLD token — its purpose, utility, and role in The Interfold protocol' --- +import { Callout } from 'nextra/components' + # FOLD Token -## Why does The Interfold need a token? +FOLD supports the economic operation of the Interfold network through ciphernode bonding, protocol +incentives, and protocol governance. This page summarises the token's total supply, initial +allocation, and scheduled release over time. + +## What role does FOLD play in the Interfold network? + +The Interfold is a distributed network for confidential coordination. Applications request Encrypted +Execution Environments (E3s), while ciphernodes coordinate and secure each computation. -The Interfold protocol produces Encrypted Execution Environments (E3s) for applications that require -distributed, private computation. As a network with no centralised authority, an economic mechanism -is required to programmatically enable the transfer of E3s from supply parties to demand parties. -This is made possible through the FOLD utility token. +FOLD supports the economic operation of the network through ciphernode bonding, protocol incentives, +and protocol governance. + + +Some functions of FOLD will be introduced progressively as the network develops. The availability +and implementation of each function will be documented alongside the relevant network phase. + ## What is the utility of the FOLD token? -FOLD has four main, interlocking functions: +FOLD has three main, interlocking functions: -- **License bond** — Ciphernode operators stake FOLD to meet the eligibility requirements to run a - ciphernode. This bond is locked for the duration of its operations and is subject to a debonding - period upon deregistration. It is slashable for misbehaviour, providing economic uptime guarantees - to the network. -- **Payments** — Applications must first acquire FOLD in order to pay for E3 requests. -- **Operator rewards** — Operators earn FOLD for each E3 program they successfully participate in - creating. This FOLD is distributed proportionally across each ciphernode set (also referred to as a - committee) that was assigned to produce it. +- **Ciphernode bonding** — Ciphernode operators bond FOLD to become eligible for network duties. + Bonded FOLD remains locked while the operator is registered and may be subject to protocol-defined + withdrawal periods and penalties for provable misbehavior or failure to fulfill assigned + responsibilities. These mechanisms align operational responsibility with economic accountability. +- **Protocol incentives** — Alongside a share of protocol fees, ciphernode operators may receive + FOLD incentives for successfully completing protocol-defined duties as members of an E3 committee. - **Governance** — FOLD holders will be able to participate in governance decisions via the Interfold - DAO. Governance is performed through a secret-ballot voting application that utilises The - Interfold's E3s, further compounding the utility of FOLD. + DAO. Governance may include decisions related to network parameters, protocol upgrades, and + treasury administration. The governance system is expected to use a secret-ballot application + powered by the Interfold network. -## How can I use my FOLD tokens to operate a ciphernode? +## How can I use FOLD to operate a ciphernode? -Operating a ciphernode is permissionless and open to anyone holding sufficient FOLD. The setup -involves provisioning cloud-based or personal hardware, running the ciphernode software, and -completing on-chain registration to begin participating in E3 committees. For full instructions, -please refer to the [Ciphernode Operators](/ciphernode-operators) documentation. +Operating a ciphernode is permissionless and open to anyone able to put up the required FOLD and +stablecoin bond. The setup involves provisioning cloud-based or personal hardware, running the +ciphernode software, and completing on-chain registration to begin participating in E3 committees. +For full instructions, please refer to the [Ciphernode Operators](/ciphernode-operators) +documentation. -## I don't want to run a Ciphernode. Can I delegate my FOLD? +## Can I delegate my FOLD to a ciphernode operator? -No. The Interfold's staking model is deliberately operator-only. Every FOLD bonded to a ciphernode +No. The Interfold's bonding model is deliberately operator-only. Every FOLD bonded to a ciphernode represents capital at risk to the operator running it. Delegated capital would allow operators to run -partially owned ciphernodes, diluting accountability and weakening the network's economic security -guarantees. We encourage all FOLD token holders to participate in ciphernode operations. If you need -help, please reach out to the team on Discord. +partially-owned ciphernodes, diluting accountability and weakening the network's economic security +guarantees. We encourage all FOLD token holders to participate in ciphernode operations. + +If you need support, join the designated [Telegram group](https://t.me/enclave_e3). diff --git a/docs/pages/faq/public-sale.mdx b/docs/pages/faq/public-sale.mdx deleted file mode 100644 index 786c6afad6..0000000000 --- a/docs/pages/faq/public-sale.mdx +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: 'The Interfold Public Sale FAQs' -description: - 'Frequently asked questions about The Interfold public token sale — the Uniswap Continuous Clearing Auction, eligibility, holding periods, and KYC' ---- - -import { Callout } from 'nextra/components' - -# The Interfold Public Sale - -In order to ensure fair participation, The Interfold public sale will be held as a Uniswap Continuous -Clearing Auction. - -## What is a Uniswap Continuous Clearing Auction? - -A Continuous Clearing Auction (CCA) is a price-discovery mechanism for public token sales built on -Uniswap infrastructure. The sale runs across multiple discrete periods. In each period, bidders -submit either market orders (accepting any clearing price above the floor) or capped orders -(specifying a maximum FDV). At the end of each period, a single uniform clearing price is set, and -every successful bidder in that period pays the same price. The floor for each subsequent period is -the greater of the original floor or the previous period's clearing price, so the price can move up -but never down. Unsold tokens roll into the final period. CCAs eliminate gas wars, prevent sniping, -and allow clearing prices to emerge from collective demand. The result is a fair auction for all -participants. - -## Where can I participate in the Interfold Public Token Sale? - -You will be able to participate in the Interfold public token sale directly from within Uniswap's -Continuous Clearing Auction section of the Uniswap website. - - -The Interfold public sale is **not yet available**. Any currently active link to a public sale is a -**scam** — do **not** click it. The official Interfold X account is -[@theinterfold](https://x.com/theinterfold); please follow it for official updates. - - -## Who can participate in the Interfold Public Token Sale? - -The Interfold public token sale is open to non-US, non-UK individuals from non-sanctioned countries -and non-sanctioned programs only. - -## Is there any holding period associated with FOLD purchased during the Interfold public sale? - -Yes. Tokens purchased in the Interfold public sale are subject to a holding period. - -A 'holding period' is the period during which tokens purchased in the Interfold public sale cannot be -used to trade on the open market. - -Non-US, non-UK participants from non-sanctioned countries and non-sanctioned programs are subject to -a holding period of 45 days. - -Non-sanctioned countries and non-sanctioned programs are determined by reference to the OFAC -sanctions programs and country information, available at -[ofac.treasury.gov](https://ofac.treasury.gov/sanctions-programs-and-country-information). - -## Do I need to complete KYC to participate? - -KYC requirements depend on the participant category you fall into: - -- Non-US, non-UK participants from non-sanctioned countries and non-sanctioned programs are not - required to complete KYC. -- If you do not fall within this category, you may be required to complete KYC. - -## How long will the Interfold public token sale last? - -The Interfold public token sale will run for a maximum of 5 days, or until all available tokens are -sold out, whichever occurs first. Participants can freely place bids at any point during this window. - -## Why should I participate in the Interfold public token sale when I can just wait to buy it on the open market? - -The Interfold public sale is expected to launch at a significantly lower fully diluted valuation than -the one at which FOLD is expected to begin trading. The Uniswap Continuous Clearing Auction mechanism -allows the clearing price to increase incrementally as demand develops, but never to decrease. Early -participants can therefore secure tokens at a lower fair-market price than would be expected on the -open market. diff --git a/docs/pages/tokenomics.mdx b/docs/pages/tokenomics.mdx index 2994c34477..8d1b41b22f 100644 --- a/docs/pages/tokenomics.mdx +++ b/docs/pages/tokenomics.mdx @@ -8,9 +8,9 @@ import { KeyParameters, AllocationPie, VestingSchedule } from '../components/Tok # FOLD Tokenomics -The FOLD token is designed to sustain long-term security and growth of the protocol. This page -summarises the token's total supply, how it is allocated, and the schedule by which tokens are -released into circulation. +FOLD supports the economic operation of the Interfold network through ciphernode bonding, protocol +incentives, and protocol governance. This page summarises the token's total supply, initial +allocation, and scheduled unlocks over time. @@ -18,15 +18,12 @@ released into circulation. The total supply of FOLD is 1.2 billion. -The chart below illustrates how total supply is allocated across each category. +The chart below illustrates how total supply is allocated: -## Vesting Schedule +## Unlock Schedule -Vesting commences at TGE. - -TGE can be defined as the earliest point at which tokens become transferable. All vested tokens vest -linearly, as illustrated in the chart below. +Token unlock schedules commence at TGE unless otherwise specified. From 6c879baaee9e623824e6fff9e3e12e00213e8e72 Mon Sep 17 00:00:00 2001 From: Bryant Soorkia <0xbryants@gmail.com> Date: Fri, 19 Jun 2026 13:41:46 +0700 Subject: [PATCH 3/6] =?UTF-8?q?revert=20index.mdx=20to=20main=20=E2=80=94?= =?UTF-8?q?=20content=20belongs=20on=20colleague's=20branch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/pages/index.mdx | 71 +------------------------------------------- 1 file changed, 1 insertion(+), 70 deletions(-) diff --git a/docs/pages/index.mdx b/docs/pages/index.mdx index e2b7d09442..704bfccb14 100644 --- a/docs/pages/index.mdx +++ b/docs/pages/index.mdx @@ -1,75 +1,6 @@ --- title: 'Interfold' -description: - 'Open-source protocol for Encrypted Execution Environments (E3) — secure, verifiable computation - over private data' +description: '' --- # Interfold - -The Interfold is an open-source protocol that coordinates **Encrypted Execution Environments (E3s)** -— allowing independent parties to produce shared, verifiable outcomes from private inputs without -custody, exposure, or trusted hardware. - -Built on **Fully Homomorphic Encryption (FHE)**, **Zero-Knowledge Proofs (ZKPs)**, and **Distributed -Threshold Cryptography (DTC)**, the Interfold enables a new class of privacy-preserving -applications: sealed-bid auctions, secret ballots, confidential data analysis, and more. - ---- - -## Quick Links - -### 👩‍💻 I want to build an E3 application - -| Step | Guide | -| --------------------------- | --------------------------------------------------- | -| Install the CLI | [Installation](/installation) | -| Create your first project | [Quick Start](/quick-start) | -| Understand the architecture | [Architecture Overview](/architecture-overview) | -| See a complete example | [CRISP](/CRISP/introduction) | -| Dive into smart contracts | [Building with Interfold](/building-with-interfold) | - -### 🖥️ I want to run a ciphernode - -| Step | Guide | -| ------------------ | ------------------------------------------------------------------ | -| Check requirements | [System Requirements](/requirements) | -| Set up a node | [Running a Ciphernode](/ciphernode-operators/running) | -| Register and bond | [Registration & Licensing](/ciphernode-operators/registration) | -| Manage tickets | [Tickets & Sortition](/ciphernode-operators/tickets-and-sortition) | -| Monitor your node | [Node Dashboard](/tutorials/using-the-dashboard) | - -### 📚 I want to understand the protocol - -| Topic | Guide | -| ------------------------- | ------------------------------------------- | -| What is an E3? | [What is an E3?](/what-is-e3) | -| Cryptographic foundations | [Cryptography](/cryptography) | -| How sortition works | [Sortition Internals](/internals/sortition) | -| DKG & ZK proof pipeline | [PVDKG & ZK Proofs](/internals/dkg) | -| Protocol economics | [Requestor Guide](/requestor-guide) | - ---- - -## Key Features - -- **Threshold decryption** — no single party holds the full key; at least T+1 of N ciphernodes must - cooperate -- **Public verifiability** — every cryptographic step is backed by a ZK proof anyone can check -- **Sortition-based committees** — ciphernodes are selected randomly, weighted by stake, not by - central authority -- **Economic security** — slashing penalties and refunds align operator incentives with protocol - integrity -- **Modular compute** — plug in RISC Zero, SP1, Jolt, or custom compute providers - -## Get Started - -```bash -curl -fsSL https://raw.githubusercontent.com/theinterfold/interfold/main/install | bash -interfoldup install -interfold init my-first-e3 -cd my-first-e3 && pnpm dev:all -``` - -Then open [http://localhost:3000](http://localhost:3000). See the [Quick Start](/quick-start) for -details. From 9f00557bcd84750a57ac9ed7fd40a6cbf6e9bd20 Mon Sep 17 00:00:00 2001 From: Bryant Soorkia <0xbryants@gmail.com> Date: Fri, 19 Jun 2026 13:44:27 +0700 Subject: [PATCH 4/6] =?UTF-8?q?Revert=20"revert=20index.mdx=20to=20main=20?= =?UTF-8?q?=E2=80=94=20content=20belongs=20on=20colleague's=20branch"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 6c879baaee9e623824e6fff9e3e12e00213e8e72. --- docs/pages/index.mdx | 71 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/docs/pages/index.mdx b/docs/pages/index.mdx index 704bfccb14..e2b7d09442 100644 --- a/docs/pages/index.mdx +++ b/docs/pages/index.mdx @@ -1,6 +1,75 @@ --- title: 'Interfold' -description: '' +description: + 'Open-source protocol for Encrypted Execution Environments (E3) — secure, verifiable computation + over private data' --- # Interfold + +The Interfold is an open-source protocol that coordinates **Encrypted Execution Environments (E3s)** +— allowing independent parties to produce shared, verifiable outcomes from private inputs without +custody, exposure, or trusted hardware. + +Built on **Fully Homomorphic Encryption (FHE)**, **Zero-Knowledge Proofs (ZKPs)**, and **Distributed +Threshold Cryptography (DTC)**, the Interfold enables a new class of privacy-preserving +applications: sealed-bid auctions, secret ballots, confidential data analysis, and more. + +--- + +## Quick Links + +### 👩‍💻 I want to build an E3 application + +| Step | Guide | +| --------------------------- | --------------------------------------------------- | +| Install the CLI | [Installation](/installation) | +| Create your first project | [Quick Start](/quick-start) | +| Understand the architecture | [Architecture Overview](/architecture-overview) | +| See a complete example | [CRISP](/CRISP/introduction) | +| Dive into smart contracts | [Building with Interfold](/building-with-interfold) | + +### 🖥️ I want to run a ciphernode + +| Step | Guide | +| ------------------ | ------------------------------------------------------------------ | +| Check requirements | [System Requirements](/requirements) | +| Set up a node | [Running a Ciphernode](/ciphernode-operators/running) | +| Register and bond | [Registration & Licensing](/ciphernode-operators/registration) | +| Manage tickets | [Tickets & Sortition](/ciphernode-operators/tickets-and-sortition) | +| Monitor your node | [Node Dashboard](/tutorials/using-the-dashboard) | + +### 📚 I want to understand the protocol + +| Topic | Guide | +| ------------------------- | ------------------------------------------- | +| What is an E3? | [What is an E3?](/what-is-e3) | +| Cryptographic foundations | [Cryptography](/cryptography) | +| How sortition works | [Sortition Internals](/internals/sortition) | +| DKG & ZK proof pipeline | [PVDKG & ZK Proofs](/internals/dkg) | +| Protocol economics | [Requestor Guide](/requestor-guide) | + +--- + +## Key Features + +- **Threshold decryption** — no single party holds the full key; at least T+1 of N ciphernodes must + cooperate +- **Public verifiability** — every cryptographic step is backed by a ZK proof anyone can check +- **Sortition-based committees** — ciphernodes are selected randomly, weighted by stake, not by + central authority +- **Economic security** — slashing penalties and refunds align operator incentives with protocol + integrity +- **Modular compute** — plug in RISC Zero, SP1, Jolt, or custom compute providers + +## Get Started + +```bash +curl -fsSL https://raw.githubusercontent.com/theinterfold/interfold/main/install | bash +interfoldup install +interfold init my-first-e3 +cd my-first-e3 && pnpm dev:all +``` + +Then open [http://localhost:3000](http://localhost:3000). See the [Quick Start](/quick-start) for +details. From 7b03e803827f6325eb567393a06e43eb2f87c04c Mon Sep 17 00:00:00 2001 From: Bryant Soorkia <0xbryants@gmail.com> Date: Fri, 19 Jun 2026 14:33:29 +0700 Subject: [PATCH 5/6] docs: tokenomics content, FAQ edits, and sidebar/style polish - Add allocation category descriptions to tokenomics page - Remove anchor links sitewide; add justified text alignment - Clean up FOLD Token FAQ: trim intro, update ciphernode copy - Move Interfold homepage above Introduction in sidebar - Strip 'Documentation is being updated' from banner Co-Authored-By: Claude Opus 4.8 --- docs/pages/_meta.json | 3 +++ docs/pages/faq/fold-token.mdx | 19 ++++--------------- docs/pages/tokenomics.mdx | 32 ++++++++++++++++++++++++++++---- docs/styles/globals.css | 9 +++++++++ docs/theme.config.jsx | 2 +- 5 files changed, 45 insertions(+), 20 deletions(-) diff --git a/docs/pages/_meta.json b/docs/pages/_meta.json index e7a48b3075..d9e3b8a920 100644 --- a/docs/pages/_meta.json +++ b/docs/pages/_meta.json @@ -3,6 +3,9 @@ "type": "separator", "title": "Overview" }, + "index": { + "title": "Interfold" + }, "introduction": { "title": "Introduction" }, diff --git a/docs/pages/faq/fold-token.mdx b/docs/pages/faq/fold-token.mdx index 6055e08cea..39c03c4587 100644 --- a/docs/pages/faq/fold-token.mdx +++ b/docs/pages/faq/fold-token.mdx @@ -4,26 +4,15 @@ description: 'Frequently asked questions about the FOLD token — its purpose, utility, and role in The Interfold protocol' --- -import { Callout } from 'nextra/components' - # FOLD Token -FOLD supports the economic operation of the Interfold network through ciphernode bonding, protocol -incentives, and protocol governance. This page summarises the token's total supply, initial -allocation, and scheduled release over time. ## What role does FOLD play in the Interfold network? The Interfold is a distributed network for confidential coordination. Applications request Encrypted Execution Environments (E3s), while ciphernodes coordinate and secure each computation. -FOLD supports the economic operation of the network through ciphernode bonding, protocol incentives, -and protocol governance. - - -Some functions of FOLD will be introduced progressively as the network develops. The availability -and implementation of each function will be documented alongside the relevant network phase. - +FOLD supports the economic operation of the network. ## What is the utility of the FOLD token? @@ -42,9 +31,9 @@ FOLD has three main, interlocking functions: ## How can I use FOLD to operate a ciphernode? -Operating a ciphernode is permissionless and open to anyone able to put up the required FOLD and -stablecoin bond. The setup involves provisioning cloud-based or personal hardware, running the -ciphernode software, and completing on-chain registration to begin participating in E3 committees. +Operating a ciphernode is permissionless and open to anyone. The setup involves provisioning +cloud-based or personal hardware, running the ciphernode software, bonding the ciphernode, and +completing on-chain registration. This will allow operators to begin participating in E3 committees. For full instructions, please refer to the [Ciphernode Operators](/ciphernode-operators) documentation. diff --git a/docs/pages/tokenomics.mdx b/docs/pages/tokenomics.mdx index 8d1b41b22f..37aa5e65cb 100644 --- a/docs/pages/tokenomics.mdx +++ b/docs/pages/tokenomics.mdx @@ -8,10 +8,6 @@ import { KeyParameters, AllocationPie, VestingSchedule } from '../components/Tok # FOLD Tokenomics -FOLD supports the economic operation of the Interfold network through ciphernode bonding, protocol -incentives, and protocol governance. This page summarises the token's total supply, initial -allocation, and scheduled unlocks over time. - ## Token Distribution @@ -22,6 +18,34 @@ The chart below illustrates how total supply is allocated: +### Community Grants & Treasury + +The Interfold has been built in the open and is freely available as open-source software under the LGPLv3 license. To support the long-term sustainability of the network, The Interfold Foundation will allocate a significant portion of supply to community grants, ecosystem development, and future open-source contributors. Grants may be awarded proactively to support priority work or retroactively to recognize meaningful contributions. + +### Gnosis Guild + +The Interfold has been developed by Gnosis Guild. To ensure its success, Gnosis Guild will act as a core contributor for the protocol's ongoing maintenance, research and development, business development, and marketing. This allocation ensures the team can continue to adequately cover the expenses associated with these activities, primarily payroll. + +### Investors + +The Interfold (previously developed under the name Enclave) has completed two previous funding rounds: pre-seed and seed. Investors in these rounds share a common vision of sustainable, distributed privacy infrastructure systems. As such, these investors are subject to a 24-month linear unlock period, designed to support long-term alignment and not short-term liquidity exits. + +### Uniswap CCA + +The Uniswap CCA is designed to provide open access through uniform clearing mechanics. The starting fully diluted valuation will be set below that of previous funding rounds, allowing participants to access the launch through a transparent market-based process. + +### Airdrop + +This allocation is reserved for eligible community participants and ecosystem contributors. Distribution criteria, eligibility requirements, and timing will be announced separately. + +### Liquidity Reserves + +Reserved to support market liquidity, primarily through decentralised exchange liquidity pools, and to help maintain orderly trading conditions following launch. + +### Advisors + +Allocated to strategic, technical, and operational advisors, subject to vesting and lockup terms. + ## Unlock Schedule Token unlock schedules commence at TGE unless otherwise specified. diff --git a/docs/styles/globals.css b/docs/styles/globals.css index ab02fa349c..20de6f2a67 100644 --- a/docs/styles/globals.css +++ b/docs/styles/globals.css @@ -11,6 +11,15 @@ body { background-color: #fffaf0; } +.nextra-content p, +.nextra-content li { + text-align: justify; +} + +.subheading-anchor { + display: none; +} + img { border-radius: 10px; } diff --git a/docs/theme.config.jsx b/docs/theme.config.jsx index 3b26af5490..d63322731f 100644 --- a/docs/theme.config.jsx +++ b/docs/theme.config.jsx @@ -20,7 +20,7 @@ export default { key: 'enclave-rename', text: ( - Enclave is now The Interfold. Documentation is being updated. + Enclave is now The Interfold. ), }, From b2f911eeb37b50e56b30ab9995ecaeb21bf7b4a7 Mon Sep 17 00:00:00 2001 From: Bryant Soorkia <0xbryants@gmail.com> Date: Fri, 19 Jun 2026 15:03:58 +0700 Subject: [PATCH 6/6] docs: move FOLD Token section above Reference, trim naming callout Co-Authored-By: Claude Sonnet 4.6 --- docs/pages/_meta.json | 14 +++++++------- docs/pages/introduction.mdx | 6 +----- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/docs/pages/_meta.json b/docs/pages/_meta.json index d9e3b8a920..856164356f 100644 --- a/docs/pages/_meta.json +++ b/docs/pages/_meta.json @@ -112,13 +112,6 @@ "internals": { "title": "Technical Deep Dives" }, - "-- Reference": { - "type": "separator", - "title": "Reference" - }, - "whitepaper": { - "title": "Whitepaper" - }, "-- FOLD Token": { "type": "separator", "title": "FOLD Token" @@ -128,5 +121,12 @@ }, "faq": { "title": "Frequently Asked Questions" + }, + "-- Reference": { + "type": "separator", + "title": "Reference" + }, + "whitepaper": { + "title": "Whitepaper" } } diff --git a/docs/pages/introduction.mdx b/docs/pages/introduction.mdx index 085e367f10..c3cddd3037 100644 --- a/docs/pages/introduction.mdx +++ b/docs/pages/introduction.mdx @@ -2,11 +2,7 @@ > **Note on naming** > -> The Interfold was previously known as **Enclave**. -> Some repositories, package names, and CLI commands may still use `interfold` while the transition -> is in progress. -> -> These references will be updated over time and do not affect functionality. +> The Interfold was previously known as **Enclave**. **Here you'll find guides, references, and implementation resources for building on the Interfold protocol.**