From dbec57c5d2f33e65104baa994849237484fb51eb Mon Sep 17 00:00:00 2001 From: Quintus Date: Tue, 8 Sep 2026 18:40:20 +0000 Subject: [PATCH] Discoverability basics: llms.txt, canonical/sitemap fixes, robots, footer, metadata, market-maker section --- docs/api.mdx | 2 +- docs/architecture.mdx | 2 +- docs/encryption-attestations.mdx | 2 +- docs/flashbots-infra.mdx | 2 +- docs/historic-measurements.mdx | 1 + docs/how-to-participate.mdx | 10 +++- docs/open-source.mdx | 2 +- docs/operating-a-node.mdx | 6 +-- docs/refunds.mdx | 2 +- docs/resources.mdx | 1 + docs/roadmap.mdx | 2 +- docs/send-orderflow.mdx | 5 +- docs/sidebars.js | 1 + docs/what-is-buildernet.mdx | 2 +- docusaurus.config.js | 79 +++++++++++++++++++++++++++++++- package.json | 1 + project-words.txt | 3 +- src/pages/index.md | 69 +++++++++++++++++++++++++++- static/robots.txt | 3 ++ yarn.lock | 16 ++++++- 20 files changed, 191 insertions(+), 20 deletions(-) diff --git a/docs/api.mdx b/docs/api.mdx index 1967eb5..0d5eeb8 100644 --- a/docs/api.mdx +++ b/docs/api.mdx @@ -1,6 +1,6 @@ --- title: API Reference -description: API reference for BuilderNet. +description: "BuilderNet API reference: eth_sendBundle, eth_sendRawTransaction, priority updates and the propAMM quote stream, TEE attestation, and the refund methods." --- ## Orderflow diff --git a/docs/architecture.mdx b/docs/architecture.mdx index 0664977..26ce414 100644 --- a/docs/architecture.mdx +++ b/docs/architecture.mdx @@ -12,7 +12,7 @@ Overview of BuilderNet's system architecture. The following diagram shows the simplified overall system architecture: - +BuilderNet system context diagram: orderflow providers, builder nodes running in TEEs, and relays
diff --git a/docs/encryption-attestations.mdx b/docs/encryption-attestations.mdx index 37a54f6..ab90feb 100644 --- a/docs/encryption-attestations.mdx +++ b/docs/encryption-attestations.mdx @@ -1,6 +1,6 @@ --- title: Orderflow encryption and attestation -description: coming soon +description: How orderflow is end-to-end encrypted between users, BuilderNet nodes and Flashbots infrastructure, and which ports use attested TLS. --- This page outlines how orderflow is end-to-end encrypted in BuilderNet. diff --git a/docs/flashbots-infra.mdx b/docs/flashbots-infra.mdx index 0def265..2e193e4 100644 --- a/docs/flashbots-infra.mdx +++ b/docs/flashbots-infra.mdx @@ -14,7 +14,7 @@ In the bootstrapping phase, BuilderNet relies on Flashbots infrastructure for: This diagram shows the TLS certificate setup and key data flows: - +TLS certificate setup and data flows between BuilderNet nodes and Flashbots infrastructure See also ["Encryption and Attestations"](encryption-attestations) for more information about encryption and the use of certificates. diff --git a/docs/historic-measurements.mdx b/docs/historic-measurements.mdx index ddc105f..9c3e30f 100644 --- a/docs/historic-measurements.mdx +++ b/docs/historic-measurements.mdx @@ -1,5 +1,6 @@ --- title: Historic Allowed TEE Measurements +description: Archive of previously allowed TEE measurements for BuilderNet node images. --- ```json diff --git a/docs/how-to-participate.mdx b/docs/how-to-participate.mdx index b2a49d9..d3c7909 100644 --- a/docs/how-to-participate.mdx +++ b/docs/how-to-participate.mdx @@ -1,6 +1,6 @@ --- title: How to participate -description: How to participate in BuilderNet +description: Ways to participate in BuilderNet as a wallet, searcher, propAMM market maker, developer, node operator or researcher. --- ### Users, Wallets, and Apps @@ -17,6 +17,14 @@ Submit to the Flashbots Bundle Relay or [register](https://www.notion.so/flashbo --- +### Market makers (propAMMs) + +If you operate a proprietary AMM (propAMM), stream your quote updates to BuilderNet as [priority updates](api#priority-updates). Depending on the mode set for your API key, the builder places an update at the top of the block or includes it only when another transaction in the block reads it. Updates are sent over WebSocket and go through the [Priority Update Registry](https://github.com/flashbots/priority-update-registry). API keys are issued on request; message the team on Telegram (see below). + +Aggregators and solvers that route against propAMM liquidity can read the pending quote state from the [quote stream](api#priority-updates). No key is needed. + +--- + ### Developers Contribute to [rbuilder](https://github.com/flashbots/rbuilder), the open source block builder that powers BuilderNet. Join the conversation in the [Telegram group](https://t.me/flashbots_rbuilder). diff --git a/docs/open-source.mdx b/docs/open-source.mdx index 684721c..17466d7 100644 --- a/docs/open-source.mdx +++ b/docs/open-source.mdx @@ -3,7 +3,7 @@ title: Open-source software description: Overview of the open-source software and infrastructure used in BuilderNet. --- -BuilderNet is running open source software and infrastructure. +BuilderNet is based on open source software and infrastructure. --- diff --git a/docs/operating-a-node.mdx b/docs/operating-a-node.mdx index 6387bdb..1d8b581 100644 --- a/docs/operating-a-node.mdx +++ b/docs/operating-a-node.mdx @@ -103,11 +103,11 @@ Grafana dashboard downloads: #### Dashboard screenshots for Orderflow Proxy - +Grafana dashboard for the BuilderNet orderflow proxy --- #### Dashboard screenshots for rbuilder - - +Grafana dashboard for rbuilder, part 1 +Grafana dashboard for rbuilder, part 2 diff --git a/docs/refunds.mdx b/docs/refunds.mdx index d97b46e..13794ac 100644 --- a/docs/refunds.mdx +++ b/docs/refunds.mdx @@ -1,6 +1,6 @@ --- title: Refunds -description: BuilderNet shares MEV value with the parties who contribute to its blocks. +description: How BuilderNet refunds MEV to the parties who contribute to its blocks, and how to look up refunds. --- BuilderNet refunds MEV value to the parties who contribute orderflow to its blocks. The goal of this mechanism is to create an efficient, transparent way for orderflow providers to internalize their MEV, and to sustain the ongoing operations of the network. diff --git a/docs/resources.mdx b/docs/resources.mdx index 64b2c88..68de84d 100644 --- a/docs/resources.mdx +++ b/docs/resources.mdx @@ -8,6 +8,7 @@ Important articles, forum posts, and technical discussions about BuilderNet's ar | Resource | Date | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | +| [Priority Update Registry (GitHub)](https://github.com/flashbots/priority-update-registry) | March 2026 | | [The Evolution of Remote Attested TLS - TEE - Trusted Execution Environment](https://collective.flashbots.net/t/the-evolution-of-remote-attested-tls/5383) | November 2025 | | [Combined refunds](https://collective.flashbots.net/t/combined-refunds/5270) | September 2025 | | [Moving away from aTLS](https://collective.flashbots.net/t/moving-away-from-atls/5176) | August 2025 | diff --git a/docs/roadmap.mdx b/docs/roadmap.mdx index bc1f1ea..efb8119 100644 --- a/docs/roadmap.mdx +++ b/docs/roadmap.mdx @@ -18,4 +18,4 @@ BuilderNet is a work in progress. We intend to incrementally upgrade the network ## Milestones - +BuilderNet roadmap milestones diff --git a/docs/send-orderflow.mdx b/docs/send-orderflow.mdx index 9a435ea..611e9dd 100644 --- a/docs/send-orderflow.mdx +++ b/docs/send-orderflow.mdx @@ -1,6 +1,6 @@ --- title: How to send orderflow -description: How to send orderflow securely to a BuilderNet node. +description: Endpoints and methods for sending bundles, transactions and propAMM quote updates directly to BuilderNet nodes, and how to verify a node's TEE attestation. --- Orderflow sent to [Flashbots Protect](https://protect.flashbots.net) and [Flashbots Bundle Relay](https://docs.flashbots.net/flashbots-auction/advanced/rpc-endpoint) is automatically shared with BuilderNet. Advanced users can send orderflow directly to BuilderNet nodes and optionally validate TEE proofs. @@ -39,7 +39,8 @@ See [TEE proof validation](#tee-attestation) for details. 1. [`eth_sendBundle`](https://docs.flashbots.net/flashbots-auction/advanced/rpc-endpoint#eth_sendbundle) 2. [`eth_sendRawTransaction`](https://docs.metamask.io/wallet/reference/json-rpc-methods/eth_sendrawtransaction/) -3. [Priority updates](api#priority-updates) — for operators of proprietary AMMs (WebSocket, requires an API key) +3. [Priority updates](api#priority-updates) — quote updates from propAMM market makers (WebSocket, API key required) +4. [Quote stream](api#priority-updates) — read-only WebSocket with the pending propAMM quote state (no key required) See also the [API reference](api) for more details on the API methods. diff --git a/docs/sidebars.js b/docs/sidebars.js index 74be728..76ee76f 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -55,6 +55,7 @@ module.exports = { 'operating-a-node', 'staging-instance-handbook', 'downloads-measurements', + 'historic-measurements', ] } , diff --git a/docs/what-is-buildernet.mdx b/docs/what-is-buildernet.mdx index 8cc8819..f37a2ca 100644 --- a/docs/what-is-buildernet.mdx +++ b/docs/what-is-buildernet.mdx @@ -2,7 +2,7 @@ title: What is BuilderNet slug: / hide_title: true -description: BuilderNet is a decentralized block building network for Ethereum. +description: BuilderNet is a TEE-based block building network for Ethereum. Refunds minimise execution costs for the end users, market makers, traders and searchers who send it orderflow. --- # Welcome to BuilderNet diff --git a/docusaurus.config.js b/docusaurus.config.js index c36dc95..ea35470 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -18,6 +18,8 @@ module.exports = async function createConfigAsync() { baseUrl: process.env.BASE_URL || '/', onBrokenLinks: 'throw', onBrokenMarkdownLinks: 'warn', + // Match vercel.json (trailingSlash: false) so canonical URLs and the sitemap use the same form. + trailingSlash: false, favicon: 'img/favicon.ico', organizationName: 'BuilderNet', projectName: 'docs', @@ -26,6 +28,25 @@ module.exports = async function createConfigAsync() { mermaid: true, }, themes: ['@docusaurus/theme-mermaid'], + headTags: [ + { + tagName: 'script', + attributes: { type: 'application/ld+json' }, + innerHTML: JSON.stringify({ + '@context': 'https://schema.org', + '@type': 'Organization', + name: 'BuilderNet', + url: 'https://buildernet.org', + logo: 'https://buildernet.org/img/logo.png', + sameAs: [ + 'https://collective.flashbots.net/c/buildernet/31', + 'https://t.me/buildernet_general', + 'https://github.com/BuilderNet', + 'https://github.com/flashbots/rbuilder', + ], + }), + }, + ], stylesheets: [ { href: 'https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css', @@ -79,6 +100,43 @@ module.exports = async function createConfigAsync() { ], }, image: 'img/buildernet-cover-photo-m.jpg', + footer: { + style: 'dark', + links: [ + { + title: 'Send orderflow', + items: [ + { label: 'Send bundles', to: '/docs/send-orderflow' }, + { label: 'Priority updates (propAMM)', to: '/docs/api#priority-updates' }, + { label: 'Wallets and apps', to: '/docs/how-to-participate' }, + { label: 'Refunds', to: '/docs/refunds' }, + { label: 'API reference', to: '/docs/api' }, + ], + }, + { + title: 'Network', + items: [ + { label: 'What is BuilderNet', to: '/docs' }, + { label: 'Architecture', to: '/docs/architecture' }, + { label: 'Verifiable system integrity', to: '/docs/verifiable-system-integrity' }, + { label: 'Operate a node', to: '/docs/operating-a-node' }, + { label: 'Dune dashboard', href: 'https://dune.com/flashbots/buildernet' }, + ], + }, + { + title: 'Community', + items: [ + { label: 'Blog', to: '/blog' }, + { label: 'Forum', href: 'https://collective.flashbots.net/c/buildernet/31' }, + { label: 'Telegram', href: 'https://t.me/buildernet_general' }, + { label: 'GitHub', href: 'https://github.com/BuilderNet' }, + { label: 'rbuilder', href: 'https://github.com/flashbots/rbuilder' }, + { label: 'Flashbots', href: 'https://www.flashbots.net' }, + ], + }, + ], + copyright: `Copyright © ${new Date().getFullYear()} Flashbots.`, + }, }), presets: [ [ @@ -102,7 +160,7 @@ module.exports = async function createConfigAsync() { // editUrl: 'https://github.com/BuilderNet/website/edit/main/', editLocalizedFiles: false, blogTitle: 'BuilderNet Blog', - blogDescription: 'Blog', + blogDescription: 'BuilderNet release notes and announcements.', blogSidebarCount: 0, blogSidebarTitle: 'All our posts', routeBasePath: 'blog', @@ -129,7 +187,7 @@ module.exports = async function createConfigAsync() { lastmod: 'date', changefreq: 'weekly', priority: 0.5, - ignorePatterns: ['/tags/**'], + ignorePatterns: ['/tags/**', '/search'], filename: 'sitemap.xml', createSitemapItems: async (params) => { const { defaultCreateSitemapItems, ...rest } = params; @@ -143,6 +201,23 @@ module.exports = async function createConfigAsync() { plugins: [ // eslint-disable-next-line @typescript-eslint/no-unused-vars '@docusaurus/plugin-ideal-image', + [ + // Generates /llms.txt (index) and /llms-full.txt (all docs + blog posts) at build time, + // so LLM-based assistants can ingest the documentation directly. https://llmstxt.org + 'docusaurus-plugin-llms', + { + title: 'BuilderNet documentation', + description: + 'BuilderNet is a TEE-based block building network for Ethereum. Refunds minimise execution costs; private transactions, bundles and propAMM quote updates go directly to the builder.', + rootContent: + 'BuilderNet is a TEE-based block building network for Ethereum. It pays refunds to minimise execution costs, and gives end users, market makers, traders and searchers the tools for efficient execution: private transactions, bundles and propAMM quote updates (priority updates), sent directly to the builder. These docs cover how to send orderflow, how refunds work, and how to operate a node. Site: https://buildernet.org. Send orderflow: https://buildernet.org/docs/send-orderflow. API reference: https://buildernet.org/docs/api. Refunds: https://buildernet.org/docs/refunds.', + includeBlog: true, + ignoreFiles: ['_*', '**/_*'], + excludeImports: true, + removeDuplicateHeadings: true, + generateMarkdownFiles: false, + }, + ], ], }; }; diff --git a/package.json b/package.json index 00cf602..93162f4 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,7 @@ "@typescript-eslint/parser": "^6.7.3", "cspell": "^6.31.2", "debug": "^4.3.4", + "docusaurus-plugin-llms": "0.6.0", "eslint": "^8.48.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.1.0", diff --git a/project-words.txt b/project-words.txt index 728b68d..ba08b46 100644 --- a/project-words.txt +++ b/project-words.txt @@ -113,4 +113,5 @@ txns upstreamed usermod viem -waivable \ No newline at end of file +waivable +llms diff --git a/src/pages/index.md b/src/pages/index.md index 555174e..5b8385d 100644 --- a/src/pages/index.md +++ b/src/pages/index.md @@ -1,11 +1,13 @@ --- -description: BuilderNet is a decentralized block building network for Ethereum. +description: BuilderNet is a TEE-based block building network for Ethereum. Refunds minimise execution costs; end users, market makers, traders and searchers send private transactions, bundles and propAMM quote updates directly to the builder. --- import Image from '@theme/IdealImage'; # Welcome to BuilderNet +BuilderNet is a TEE-based block building network for Ethereum. It pays refunds to minimise execution costs, and gives end users, market makers, traders and searchers the tools for efficient execution: private transactions, bundles and propAMM quote updates, sent directly to the builder. +
@@ -16,7 +18,7 @@ import Image from '@theme/IdealImage';
Introducing BuilderNet
-
A decentralized block building network for Ethereum that runs on TEEs and shares MEV with the community.
+
A TEE-based block building network for Ethereum that shares MEV with the community.
@@ -116,6 +118,69 @@ import Image from '@theme/IdealImage'; +
+ +--- + +
+
+ +### Get started + +
+ +
+
+ + + +
+
+
Searchers and solvers
+
Submit bundles and get refunds
+
+
+
+ + +
+
+ +
+
+
Wallets and apps
+
Private transactions and refunds, via Protect or directly
+
+
+
+ + +
+
+ + + +
+
+
propAMM market makers
+
Stream quote updates to the builder
+
+
+
+ + +
+
+ +
+
+
Node operators
+
Run a builder node
+
+
+
+
+
diff --git a/static/robots.txt b/static/robots.txt index e9bf7ea..4179267 100644 --- a/static/robots.txt +++ b/static/robots.txt @@ -1 +1,4 @@ +User-agent: * +Allow: / + Sitemap: https://buildernet.org/sitemap.xml diff --git a/yarn.lock b/yarn.lock index 1103109..9c6bcf0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5945,6 +5945,15 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +docusaurus-plugin-llms@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/docusaurus-plugin-llms/-/docusaurus-plugin-llms-0.6.0.tgz#acacf2371e191dd265575009ca8b0da407d3dbbd" + integrity sha512-v9I6QEJLujkmtKjfWZ/SniWu7oOGZd0JUkyxO5MaFU09+qZHjQuraYuJZ+2AoZdesrrcktgDmZtqPL/sJtHe6A== + dependencies: + gray-matter "4.0.3" + minimatch "9.0.3" + yaml "2.8.1" + dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" @@ -7465,7 +7474,7 @@ graphemer@^1.4.0: resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -gray-matter@^4.0.3: +gray-matter@4.0.3, gray-matter@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== @@ -14360,6 +14369,11 @@ yaml@2.3.1: resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz" integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== +yaml@2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.1.tgz#1870aa02b631f7e8328b93f8bc574fac5d6c4d79" + integrity sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw== + yaml@^1.10.0, yaml@^1.7.2: version "1.10.2" resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"