diff --git a/.cspell.json b/.cspell.json
index 51345090..d2368dfa 100644
--- a/.cspell.json
+++ b/.cspell.json
@@ -83,7 +83,20 @@
"IPFS",
"cheatsheet",
"hacken",
- "statusteam"
+ "statusteam",
+ "pubkey",
+ "multiaddresses",
+ "peerstore",
+ "addrs",
+ "cred",
+ "Kadmelia",
+ "storev",
+ "unsubs",
+ "Linea",
+ "upnp",
+ "dnsaddr",
+ "multiaddress",
+ "Kademlia's"
],
"flagWords": [],
"ignorePaths": [
diff --git a/docs/guides/js-waku/configure-discovery.mdx b/docs/build/javascript/configure-discovery.mdx
similarity index 100%
rename from docs/guides/js-waku/configure-discovery.mdx
rename to docs/build/javascript/configure-discovery.mdx
diff --git a/docs/guides/js-waku/debug-waku-dapp.md b/docs/build/javascript/debug-waku-dapp.md
similarity index 99%
rename from docs/guides/js-waku/debug-waku-dapp.md
rename to docs/build/javascript/debug-waku-dapp.md
index 149ab096..bd05adb3 100644
--- a/docs/guides/js-waku/debug-waku-dapp.md
+++ b/docs/build/javascript/debug-waku-dapp.md
@@ -1,6 +1,7 @@
---
title: Debug Your Waku DApp and WebSocket
hide_table_of_contents: true
+displayed_sidebar: build
---
This guide provides detailed steps to enable and use debug logs to troubleshoot your Waku DApp, whether in a NodeJS or browser environment and check your WebSocket connections in [nwaku](/guides/nwaku/run-node).
diff --git a/docs/guides/js-waku/faq.md b/docs/build/javascript/faq.md
similarity index 99%
rename from docs/guides/js-waku/faq.md
rename to docs/build/javascript/faq.md
index 165fc389..5a33466f 100644
--- a/docs/guides/js-waku/faq.md
+++ b/docs/build/javascript/faq.md
@@ -2,6 +2,7 @@
title: JavaScript SDK FAQ
hide_table_of_contents: true
sidebar_label: Frequently Asked Questions
+displayed_sidebar: build
---
import { AccordionItem } from '@site/src/components/mdx'
diff --git a/docs/guides/js-waku/index.md b/docs/build/javascript/index.md
similarity index 91%
rename from docs/guides/js-waku/index.md
rename to docs/build/javascript/index.md
index bb61d839..1b673bd1 100644
--- a/docs/guides/js-waku/index.md
+++ b/docs/build/javascript/index.md
@@ -1,6 +1,7 @@
---
-title: JavaScript Waku SDK
+title: JavaScript
hide_table_of_contents: true
+displayed_sidebar: build
---
:::caution
@@ -9,6 +10,14 @@ Currently, the JavaScript Waku SDK (`@waku/sdk`) is **NOT compatible** with Reac
The [JavaScript Waku SDK](https://github.com/waku-org/js-waku) (`@waku/sdk`) provides a TypeScript implementation of the [Waku protocol](/) designed for web browser environments. Developers can seamlessly integrate Waku functionalities into web applications, enabling efficient communication and collaboration among users using the `@waku/sdk` package.
+## Video Tutorials
+
+
+
+
+
+
+
## Installation
Install the `@waku/sdk` package using your preferred package manager:
diff --git a/docs/guides/js-waku/light-send-receive.md b/docs/build/javascript/light-send-receive.md
similarity index 99%
rename from docs/guides/js-waku/light-send-receive.md
rename to docs/build/javascript/light-send-receive.md
index fd626040..b9e18360 100644
--- a/docs/guides/js-waku/light-send-receive.md
+++ b/docs/build/javascript/light-send-receive.md
@@ -1,6 +1,7 @@
---
title: Send and Receive Messages Using Light Push and Filter
hide_table_of_contents: true
+displayed_sidebar: build
---
This guide provides detailed steps to start using the `@waku/sdk` package by setting up a [Light Node](/learn/glossary#light-node) to send messages using the [Light Push protocol](/learn/concepts/protocols#light-push), and receive messages using the [Filter protocol](/learn/concepts/protocols#filter). Have a look at the [installation guide](/guides/js-waku/#installation) for steps on adding `@waku/sdk` to your project.
diff --git a/docs/guides/js-waku/manage-filter.md b/docs/build/javascript/manage-filter.md
similarity index 98%
rename from docs/guides/js-waku/manage-filter.md
rename to docs/build/javascript/manage-filter.md
index 815a2010..2906afe5 100644
--- a/docs/guides/js-waku/manage-filter.md
+++ b/docs/build/javascript/manage-filter.md
@@ -1,6 +1,7 @@
---
title: Manage Your Filter Subscriptions
hide_table_of_contents: true
+displayed_sidebar: build
---
This guide provides detailed steps to manage [Filter](/learn/concepts/protocols#filter) subscriptions and handle node disconnections in your application. Have a look at the [Send and Receive Messages Using Light Push and Filter](/guides/js-waku/light-send-receive) guide for using the `Light Push` and `Filter` protocols.
diff --git a/docs/guides/js-waku/message-encryption.mdx b/docs/build/javascript/message-encryption.mdx
similarity index 100%
rename from docs/guides/js-waku/message-encryption.mdx
rename to docs/build/javascript/message-encryption.mdx
diff --git a/docs/guides/js-waku/reliable-channels.md b/docs/build/javascript/reliable-channels.md
similarity index 99%
rename from docs/guides/js-waku/reliable-channels.md
rename to docs/build/javascript/reliable-channels.md
index ae914b91..0ca9cff3 100644
--- a/docs/guides/js-waku/reliable-channels.md
+++ b/docs/build/javascript/reliable-channels.md
@@ -1,6 +1,7 @@
---
title: Send and Receive Messages in a Reliable Channel
hide_table_of_contents: true
+displayed_sidebar: build
---
Learn how to send and receive messages with a convenient SDK that provide various reliable functionalities out-of-the-box.
diff --git a/docs/guides/js-waku/run-waku-nodejs.md b/docs/build/javascript/run-waku-nodejs.md
similarity index 98%
rename from docs/guides/js-waku/run-waku-nodejs.md
rename to docs/build/javascript/run-waku-nodejs.md
index eaabc4c9..b1ebb31f 100644
--- a/docs/guides/js-waku/run-waku-nodejs.md
+++ b/docs/build/javascript/run-waku-nodejs.md
@@ -1,6 +1,7 @@
---
title: "Run @waku/sdk in a NodeJS Application"
hide_table_of_contents: true
+displayed_sidebar: build
---
While the `@waku/sdk` package is primarily designed for browser environments, you can use it in a NodeJS application. However, there are certain limitations and considerations to keep in mind. This guide provides a comprehensive overview of using `@waku/sdk` in NodeJS.
diff --git a/docs/guides/js-waku/store-retrieve-messages.md b/docs/build/javascript/store-retrieve-messages.md
similarity index 99%
rename from docs/guides/js-waku/store-retrieve-messages.md
rename to docs/build/javascript/store-retrieve-messages.md
index 61d664c2..47fa5b37 100644
--- a/docs/guides/js-waku/store-retrieve-messages.md
+++ b/docs/build/javascript/store-retrieve-messages.md
@@ -1,6 +1,7 @@
---
title: Retrieve Messages Using Store Protocol
hide_table_of_contents: true
+displayed_sidebar: build
---
This guide provides detailed steps to create a Light Node for retrieving and filtering historical messages using the [Store protocol](/learn/concepts/protocols#store).
diff --git a/docs/guides/js-waku/use-waku-create-app.md b/docs/build/javascript/use-waku-create-app.md
similarity index 98%
rename from docs/guides/js-waku/use-waku-create-app.md
rename to docs/build/javascript/use-waku-create-app.md
index 16090809..c1029a95 100644
--- a/docs/guides/js-waku/use-waku-create-app.md
+++ b/docs/build/javascript/use-waku-create-app.md
@@ -1,6 +1,7 @@
---
title: "Scaffold DApps Using @waku/create-app"
hide_table_of_contents: true
+displayed_sidebar: build
---
This guide provides detailed steps to bootstrap your next `@waku/sdk` project from [various example templates](https://github.com/waku-org/js-waku-examples/tree/master/examples) using the [@waku/create-app](https://www.npmjs.com/package/@waku/create-app) package.
diff --git a/docs/guides/js-waku/use-waku-react.md b/docs/build/javascript/use-waku-react.md
similarity index 99%
rename from docs/guides/js-waku/use-waku-react.md
rename to docs/build/javascript/use-waku-react.md
index b612f5a5..aee7a688 100644
--- a/docs/guides/js-waku/use-waku-react.md
+++ b/docs/build/javascript/use-waku-react.md
@@ -1,6 +1,7 @@
---
title: "Build React DApps Using @waku/react"
hide_table_of_contents: true
+displayed_sidebar: build
---
:::caution
diff --git a/docs/build/nim/index.md b/docs/build/nim/index.md
new file mode 100644
index 00000000..356c4f06
--- /dev/null
+++ b/docs/build/nim/index.md
@@ -0,0 +1,163 @@
+---
+title: Nim
+hide_table_of_contents: true
+displayed_sidebar: build
+---
+
+Nwaku provides a native Nim implementation of the Waku protocol, allowing developers to build Waku native applications directly in Nim.
+This guide demonstrates how to use the Waku library API to create and configure Waku nodes.
+
+## Installation
+
+To use the Waku Nim SDK, you'll need to:
+
+1. Install [Nim](https://nim-lang.org/install.html) (version 2.2.4 or higher)
+2. Add the nwaku library to your project
+
+:::warning
+Waku does not currently work with Nimble package manager. You can track progress on Nimble support in [PR #3564](https://github.com/waku-org/nwaku/pull/3564).
+:::
+
+```bash
+# Install nwaku as a dependency
+nimble install waku
+```
+
+## Creating a Waku Node
+
+Waku uses blockchain smart contract to DoS protect nodes in the network.
+The protocol is called [RLN relay](/learn/concepts/protocols#rln-relay).
+
+To connect to the Waku Network, you'll need a Linea Sepolia RPC endpoint.
+
+Let's create a simple CLI that takes an RPC URL as argument:
+
+`your_waku_app.nim`
+```nim
+import std/options
+import chronos, results, confutils, confutils/defs
+import waku
+
+type CliArgs = object
+ ethRpcEndpoint* {.
+ defaultValue: "",
+ desc: "ETH RPC Endpoint for RLN support"
+ .}: string
+
+when isMainModule:
+ let args = CliArgs.load()
+
+ if args.ethRpcEndpoint == "":
+ echo "Please provide a Linea Sepolia RPC endpoint to connect to the Waku Network"
+ quit(QuitFailure)
+
+ echo "Starting Waku node with RLN..."
+
+ # Create configuration with RLN enabled
+ let config = NodeConfig.init(
+ ethRpcEndpoints = @[args.ethRpcEndpoint]
+ )
+
+ # Create the node
+ let node = (waitFor createNode(config)).valueOr:
+ echo "Failed to create node: ", error
+ quit(QuitFailure)
+
+ echo "Waku node created successfully!"
+
+ # Start the node
+ (waitFor startWaku(addr node)).isOkOr:
+ echo "Failed to start node: ", error
+ quit(QuitFailure)
+
+ echo "Node started successfully with RLN enabled!"
+ runForever()
+```
+
+### Running the CLI
+
+To run your CLI:
+
+```bash
+nim c -r your_waku_app.nim --ethRpcEndpoint="https://linea-sepolia.infura.io/v3/some-api-key"
+```
+
+## Blockchain-less Development Mode
+
+For development and testing purposes, you can create a Waku node without blockchain integration.
+This mode wil not have DoS protection but allows you to experiment with the Waku protocol without needing an RPC endpoint.
+
+`your_waku_app.nim`
+```nim
+import std/options
+import chronos, results
+import waku
+
+when isMainModule:
+ echo "Starting Waku node in development mode..."
+
+ # Create a basic configuration without RLN
+ let config = NodeConfig.init(
+ wakuConfig = WakuConfig.init(
+ entryNodes = @[], # Add ENRs of bootstrap nodes if needed
+ clusterId = 42 # Use a custom cluster ID for your test network
+ )
+ )
+
+ # Create the node
+ let node = (waitFor createNode(config)).valueOr:
+ echo "Failed to create node: ", error
+ quit(QuitFailure)
+
+ echo "Waku node created successfully!"
+
+ # Start the node
+ (waitFor startWaku(addr node)).isOkOr:
+ echo "Failed to start node: ", error
+ quit(QuitFailure)
+
+ echo "Node started in development mode!"
+ runForever()
+```
+
+### Running in Development Mode
+
+```bash
+nim c -r your_waku_app.nimyour_waku_app.nim
+```
+
+## Configuration Options
+
+### With Custom Bootstrap Nodes
+
+You can specify bootstrap nodes to connect to specific networks:
+
+```nim
+let config = NodeConfig.init(
+ wakuConfig = WakuConfig.init(
+ entryNodes = @[
+ "enr:-P-4QG_d...", # Replace with actual ENR
+ "/ip5/1.2..." # Replace with actual multiaddr
+ ],
+ clusterId = 42
+ )
+)
+```
+
+## API Status
+
+:::info
+The Waku Nim library API is under active development. Currently, node creation and configuration are supported. Additional API verbs for message handling, subscriptions, and protocol interactions are work in progress.
+:::
+
+## Examples and Resources
+
+- [nwaku examples](https://github.com/waku-org/nwaku/tree/master/examples) - Official examples repository
+- [waku_api.nim](https://github.com/waku-org/nwaku/blob/master/examples/waku_api.nim) - Library API example
+- [nwaku repo](https://github.com/waku-org/nwaku) - nwaku GitHub Repository
+
+## Get Help
+
+- Visit the #help-desk channel on [Discord](https://discord.waku.org/)
+- Check the [nwaku GitHub repository](https://github.com/waku-org/nwaku) for issues and updates
+- Review the [protocol documentation](/learn/concepts/protocols) to understand Waku's capabilities
\ No newline at end of file
diff --git a/docs/guides/getting-started.md b/docs/guides/getting-started.md
deleted file mode 100644
index 637cf2ec..00000000
--- a/docs/guides/getting-started.md
+++ /dev/null
@@ -1,93 +0,0 @@
----
-title: Introduction to Waku
-hide_table_of_contents: true
-slug: /
----
-
-Waku is a family of robust, censorship-resistant, peer-to-peer communication protocols that enable privacy-focused messaging for Web3 applications, allowing you to integrate decentralised communication features into your dApp without compromising security or privacy.
-
-```mermaid
-graph LR
- S1(Message Sender 1) -->|Message 1| W(The Waku Network)
- S2(Message Sender 2) -->|Message 2| W
- S3(Message Sender 3) -->|Message 3| W
- W -->|Message 1| R1(Message Receiver 1)
- W -->|Message 2| R1
- W -->|Message 3| R2(Message Receiver 2)
-```
-
-
-
-
-
-:::tip
-Check out our [Learn section](/learn/waku-network), [YouTube channel](https://www.youtube.com/@wakuorg), and [Blog](https://blog.waku.org/) to dive into how Waku works behind the scenes!
-:::
-
-## What isn’t Waku?
-
-- Waku is not a blockchain but a network composed of protocols designed for Web3 communication, operating without the need for gas fees.
-- Waku is not just for messaging applications; it supports the development of complex applications that require secure and private data transmission.
-- Waku is not a long-term data storage network; it focuses on short, ephemeral, real-time messaging.
-
-## What can Waku be used for?
-
-1. **Chat Messengers**: Waku can be used to build private, decentralised chat apps resistant to censorship.
-2. **Voting and Proposals**: Exchange votes on proposals off-chain via Waku to save gas fees, then submit aggregated results to the blockchain.
-3. **NFT Marketplaces**: Use Waku to handle off-chain NFT bids and offers for gas savings, and to integrate social interactions like likes and comments.
-4. **State Channels**: Establish and maintain state channels with Waku, facilitating seamless message exchanges and updates without blockchain interaction.
-5. **Signature Exchange for Multi-Signature Wallets**: Allow multi-signature wallet owners to exchange signatures privately and securely through Waku.
-6. **Game Mechanics Communication**: Implement Waku as a communication layer for decentralised, peer-to-peer gaming, avoiding centralised infrastructure.
-7. **Layer 2 Coordination (Open Market, Spam Protected Mempool)**: Broadcast and aggregate Layer 2 transactions via Waku to enhance privacy and scalability, reducing network load.
-8. **Social Media Platforms**: Beyond chat messengers, use Waku for decentralised, censorship-resistant social media platforms like news feeds and multimedia sharing.
-
-:::tip
-Looking for what to build with Waku? Discover a collection of sample ideas and use cases for inspiration, curated by our community at: [https://ideas.waku.org/](https://ideas.waku.org/) and [Awesome Waku](https://github.com/waku-org/awesome-waku/).
-:::
-
-## Case studies
-
-
-
-
-
-
-## Getting started
-
-
-
-
-
-
-
-### Run a Waku node
-
-Waku is a decentralised, permissionless system where anyone can run a node, use the network, and contribute to its support. We recommend following the [Run Nwaku with Docker Compose](/guides/nwaku/run-docker-compose) guide and [Waku Node Operator Cheatsheet](/Waku-NodeOperator.pdf) to easily run a node.
-
-
-
-
-
-:::tip
-If you encounter issues running your node or require assistance with anything, please visit the [#node-help channel](https://discord.com/channels/1110799176264056863/1216748184592711691) on our Discord.
-:::
-
-### Integrate using SDKs
-
-Waku is implemented in multiple SDKs, allowing it to integrate with different languages and address various use cases efficiently.
-
-| | Description | Documentation |
-| -------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
-| [@waku/sdk](https://github.com/waku-org/js-waku) | JavaScript/TypeScript SDK designed for browser environments | [JavaScript Waku SDK](/guides/js-waku/) |
-| [@waku/react](https://www.npmjs.com/package/@waku/react) | React components and UI adapters designed for seamless integration with `@waku/sdk` | [Build React DApps Using @waku/react](/guides/js-waku/use-waku-react) |
-
-### Other integrations
-
-| | Description | Documentation |
-| ------------------------------------------------------------------ | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
-| [REST API](https://waku-org.github.io/waku-rest-api/) | REST API interface provided by `nwaku` and `go-waku` to interact with the Waku Network | [Waku Node REST API Reference](https://waku-org.github.io/waku-rest-api/) |
-| [@waku/create-app](https://www.npmjs.com/package/@waku/create-app) | Starter kit to bootstrap your next `@waku/sdk` project from various example templates | [Scaffold DApps Using @waku/create-app](/guides/js-waku/use-waku-create-app) |
-
-:::tip
-Explore some example apps built using Waku at [https://examples.waku.org/](https://examples.waku.org/) and view a list of projects and workshops from previous hackathons at [Awesome Waku](https://github.com/waku-org/awesome-waku/).
-:::
diff --git a/docs/guides/nwaku/run-node.md b/docs/guides/nwaku/run-node.md
deleted file mode 100644
index ac44cd45..00000000
--- a/docs/guides/nwaku/run-node.md
+++ /dev/null
@@ -1,141 +0,0 @@
----
-title: Run a Nwaku Node
-hide_table_of_contents: true
----
-
-Nwaku is a lightweight and robust Nim client for running a Waku node, equipped with tools to monitor and maintain a running node. Nwaku is highly configurable, enabling operators to select the [protocols](/learn/concepts/protocols) they want to support based on their needs, motivations, and available resources.
-
-
-
-This guide provides detailed steps to download, build, configure, and connect a `nwaku` node to the Waku Network. It also includes interacting with the node and finding its addresses.
-
-:::info
-We recommend running a `nwaku` node with at least 2GB of RAM, especially if `WSS` is enabled. If running just a `Relay` node, 0.5GB of RAM is sufficient.
-:::
-
-## Get the node binary
-
-To run a node, you must have the `nwaku` binary. Nwaku provides multiple options for running a node:
-
-#### Run nwaku in Docker (recommended)
-
-We recommend [using Docker Compose](/guides/nwaku/run-docker-compose) to run a node because it's the simplest and fastest way to configure and run one:
-
-| | Description | Documentation |
-| ---------------- | ---------------------------------------- | ----------------------------------------------------------------- |
-| Docker Compose | Run a `nwaku` node with Docker Compose | [Run Nwaku with Docker Compose](/guides/nwaku/run-docker-compose) |
-| Docker Container | Run a `nwaku` node in a Docker Container | [Run Nwaku in a Docker Container](/guides/nwaku/run-docker) |
-
-#### Download the binary
-
-| | Description | Documentation |
-| ------------------ | ------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| Precompiled Binary | Download a precompiled binary of the `nwaku` node | [Download Nwaku Binary](https://github.com/waku-org/nwaku/tags) |
-| Nightly Release | Try the latest `nwaku` updates without compiling the binaries | [Download Nightly Release](https://github.com/waku-org/nwaku/releases/tag/nightly) |
-
-#### Build the binary
-
-| | Description | Documentation |
-| ----------------- | ------------------------------------------------------------------------------ | ----------------------------------------------------- |
-| Build from Source | Build the node from the [nwaku source code](https://github.com/waku-org/nwaku) | [Build Nwaku from Source](/guides/nwaku/build-source) |
-
-:::tip
-You can run the `nwaku` binaries and Docker images on cloud service providers like [Google Cloud](https://cloud.google.com/), [Microsoft Azure](https://azure.microsoft.com/), [Amazon Web Services](https://aws.amazon.com/), and [DigitalOcean](https://www.digitalocean.com/).
-:::
-
-## Run the node
-
-Once you have gotten the `nwaku` binary, run it using the [default configuration](/guides/nwaku/config-methods#default-configuration-values):
-
-```shell
-# Run the Docker Compose
-docker-compose up -d
-
-# Run the standalone binary
-./build/wakunode2
-```
-
-:::tip
-To learn how to customise the configuration of a `nwaku` node, have a look at the [Node Configuration Methods](/guides/nwaku/config-methods) and [Node Configuration Examples](/guides/nwaku/configure-nwaku) guides.
-:::
-
-## Bootstrap the node
-
-To join the Waku Network, nodes must [bootstrap](/learn/glossary#bootstrapping) for an entry point before discovering more peers. Nwaku provides multiple [peer discovery](/learn/concepts/peer-discovery) mechanisms:
-
-| | Description | Documentation |
-| ------------- | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
-| Static Peers | Configure the bootstrap nodes that `nwaku` should establish connections upon startup | [Configure Static Peers](/guides/nwaku/configure-discovery#configure-static-peers) |
-| DNS Discovery | Enable `nwaku` to bootstrap nodes using the [DNS Discovery](/learn/concepts/dns-discovery) mechanism | [Configure DNS Discovery](/guides/nwaku/configure-discovery#configure-dns-discovery) |
-| Discv5 | Enable `nwaku` to discover peers using the [Discv5](/learn/concepts/discv5) mechanism | [Configure Discv5](/guides/nwaku/configure-discovery#configure-discv5) |
-| Peer Exchange | Enable [Peer Exchange](/learn/concepts/peer-exchange) protocol for light nodes to request peers from your `nwaku` node | [Configure Peer Exchange](/guides/nwaku/configure-discovery#configure-peer-exchange) |
-
-:::tip
-We suggest [configuring WebSocket transport](/guides/nwaku/configure-nwaku#configure-websocket-transport) for your node to enable support and serving of browser peers using [@waku/sdk](/guides/js-waku/).
-:::
-
-## Interact with the node
-
-You can interact with a running `nwaku` node through the [REST API](https://waku-org.github.io/waku-rest-api/), such as querying the node information using the [Get node info](https://waku-org.github.io/waku-rest-api/#get-/debug/v1/info) endpoint:
-
-```mdx-code-block
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-```
-
-
-
-
-```shell
-curl --location 'http://127.0.0.1:8645/debug/v1/info' \
---header 'Accept: application/json'
-```
-
-
-
-
-```json
-{
- "listenAddresses": [
- "/ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmUbPquFQqje3jiqoB5YoiUbBya59NB4qqEzeiTNGHeA6w"
- ],
- "enrUri": "enr:-Iu4QCQZXZDb_JsYmLoYor0F5E_95HbIywgO_wgx2rIdDbmCJZkTzmlCr0wmMzV47lgik_tVwww5mIng90Ris83TisMBgmlkgnY0gmlwhAAAAACJc2VjcDI1NmsxoQPszztG-Ev52ZB7tk0jF8s6Md4KvyY_rhzNZokaaB_ABIN0Y3CC6mCFd2FrdTIB"
-}
-```
-
-
-
-
-:::info
-The `listenAddresses` field stores the node's listening addresses, while the `enrUri` field stores the discoverable `ENR` URI for peer discovery.
-:::
-
-## Check the node health status
-
-You can check the health status of the node by calling the [Get node health status](https://waku-org.github.io/waku-rest-api/#get-/health) endpoint of the [REST API](https://waku-org.github.io/waku-rest-api/):
-
-
-
-
-```shell
-curl --location 'http://127.0.0.1:8645/health' \
---header 'Accept: text/plain'
-```
-
-
-
-
-```txt
-Node is healthy
-```
-
-
-
-
-:::tip
-If you encounter issues running your node or require assistance with anything, please visit the [#node-help channel](https://discord.com/channels/1110799176264056863/1216748184592711691) on our Discord.
-:::
-
-:::tip Congratulations!
-You have successfully started, configured, and connected a `nwaku` node to the Waku Network. Have a look at the [Node Configuration Examples](/guides/nwaku/configure-nwaku) guide to learn how to configure `nwaku` for different use cases.
-:::
diff --git a/docs/landing.md b/docs/landing.md
new file mode 100644
index 00000000..998fa006
--- /dev/null
+++ b/docs/landing.md
@@ -0,0 +1,53 @@
+---
+title: Introduction to Waku
+hide_table_of_contents: true
+slug: /
+displayed_sidebar: null
+---
+
+Waku is a family of robust, censorship-resistant, peer-to-peer communication protocols that enable privacy-focused messaging for Web3 applications, allowing you to integrate decentralised communication features into your dApp without compromising security or privacy.
+
+
+
+:::tip
+Check out our [Learn section](/learn/waku-network), [YouTube channel](https://www.youtube.com/@wakuorg), and [Blog](https://blog.waku.org/) to dive into how Waku works behind the scenes!
+:::
+
+## What isn’t Waku?
+
+- Waku is not a blockchain but a network composed of protocols designed for Web3 communication, operating without the need for gas fees.
+- Waku is not just for messaging applications; it supports the development of complex applications that require secure and private data transmission.
+- Waku is not a long-term data storage network; it focuses on short, ephemeral, real-time messaging.
+
+## What can Waku be used for?
+
+1. **Chat Messengers**: Waku can be used to build private, decentralised chat apps resistant to censorship.
+2. **Voting and Proposals**: Exchange votes on proposals off-chain via Waku to save gas fees, then submit aggregated results to the blockchain.
+3. **NFT Marketplaces**: Use Waku to handle off-chain NFT bids and offers for gas savings, and to integrate social interactions like likes and comments.
+4. **State Channels**: Establish and maintain state channels with Waku, facilitating seamless message exchanges and updates without blockchain interaction.
+5. **Signature Exchange for Multi-Signature Wallets**: Allow multi-signature wallet owners to exchange signatures privately and securely through Waku.
+6. **Game Mechanics Communication**: Implement Waku as a communication layer for decentralised, peer-to-peer gaming, avoiding centralised infrastructure.
+7. **Layer 2 Coordination (Open Market, Spam Protected Mempool)**: Broadcast and aggregate Layer 2 transactions via Waku to enhance privacy and scalability, reducing network load.
+8. **Social Media Platforms**: Beyond chat messengers, use Waku for decentralised, censorship-resistant social media platforms like news feeds and multimedia sharing.
+
+:::tip
+Looking for what to build with Waku? Discover a collection of sample ideas and use cases for inspiration, curated by our community at: [https://ideas.waku.org/](https://ideas.waku.org/) and [Awesome Waku](https://github.com/waku-org/awesome-waku/).
+:::
+
+## Case studies
+
+
+
+
+
diff --git a/docs/learn/concepts/content-topics.md b/docs/learn/concepts/content-topics.md
index 82a6cada..1c6b3aca 100644
--- a/docs/learn/concepts/content-topics.md
+++ b/docs/learn/concepts/content-topics.md
@@ -1,6 +1,7 @@
---
title: Content Topics
hide_table_of_contents: true
+displayed_sidebar: learn
---
`Content Topics` are metadata strings set by developers on outgoing messages to facilitate protocol-level features like selectively processing incoming messages ([Relay](/learn/concepts/protocols#relay) or [Filter](/learn/concepts/protocols#filter)) and retrieving historical messages ([Store](/learn/concepts/protocols#store)) that meet specific filtering criteria. Have a look at the [WAKU2-TOPICS](https://rfc.vac.dev/waku/informational/23/topics#content-topics) specification to learn more.
diff --git a/docs/learn/concepts/discv5.md b/docs/learn/concepts/discv5.md
index 0fe8424b..9e409492 100644
--- a/docs/learn/concepts/discv5.md
+++ b/docs/learn/concepts/discv5.md
@@ -1,6 +1,7 @@
---
title: Discv5
hide_table_of_contents: true
+displayed_sidebar: learn
---
`Discv5` is a decentralised and efficient peer discovery mechanism for the Waku Network. It uses a [Distributed Hash Table (DHT)](https://en.wikipedia.org/wiki/Distributed_hash_table) for storing `ENR` records, providing resistance to censorship. `Discv5` offers a global view of participating nodes, enabling random sampling for load distribution. It uses bootstrap nodes as an entry point to the network, providing randomised sets of nodes for mesh expansion. Have a look at the [Discv5](https://rfc.vac.dev/waku/standards/core/33/discv5) specification to learn more.
diff --git a/docs/learn/concepts/dns-discovery.md b/docs/learn/concepts/dns-discovery.md
index 6dfd58b5..1b6c554c 100644
--- a/docs/learn/concepts/dns-discovery.md
+++ b/docs/learn/concepts/dns-discovery.md
@@ -1,6 +1,7 @@
---
title: DNS Discovery
hide_table_of_contents: true
+displayed_sidebar: learn
---
Built upon the foundation of [EIP-1459: Node Discovery via DNS](https://eips.ethereum.org/EIPS/eip-1459), DNS Discovery allows the retrieval of an `ENR` tree from the `TXT` field of a domain name. This innovative approach enables the storage of essential node connection details, including IP, port, and multiaddr.
diff --git a/docs/learn/concepts/network-domains.md b/docs/learn/concepts/network-domains.md
index 130f9c36..3c844237 100644
--- a/docs/learn/concepts/network-domains.md
+++ b/docs/learn/concepts/network-domains.md
@@ -1,6 +1,7 @@
---
title: Network Domains
hide_table_of_contents: true
+displayed_sidebar: learn
---
Waku is a unified and cohesive entity that offers a rich ecosystem with three distinct network interaction domains. These domains serve specialised purposes and contribute to the robust functionality of Waku, forming its foundation.
diff --git a/docs/learn/concepts/peer-discovery.md b/docs/learn/concepts/peer-discovery.md
index 9bd1d2d4..c05a5c9a 100644
--- a/docs/learn/concepts/peer-discovery.md
+++ b/docs/learn/concepts/peer-discovery.md
@@ -1,6 +1,7 @@
---
title: Peer Discovery
hide_table_of_contents: true
+displayed_sidebar: learn
---
When initialising a Waku node, it must connect with other peers to enable message sending, receiving, and retrieval. To achieve this, a discovery mechanism is employed to locate other peers in the network. This process is known as bootstrapping.
diff --git a/docs/learn/concepts/peer-exchange.md b/docs/learn/concepts/peer-exchange.md
index a0109149..b835c250 100644
--- a/docs/learn/concepts/peer-exchange.md
+++ b/docs/learn/concepts/peer-exchange.md
@@ -1,6 +1,7 @@
---
title: Peer Exchange
hide_table_of_contents: true
+displayed_sidebar: learn
---
The primary objective of this protocol is to facilitate peer connectivity for resource-limited devices without relying on `Discv5`. The peer exchange protocol enables light nodes to request peers from other nodes within the network.
diff --git a/docs/learn/concepts/protocols.md b/docs/learn/concepts/protocols.md
index 25665858..edf6b44f 100644
--- a/docs/learn/concepts/protocols.md
+++ b/docs/learn/concepts/protocols.md
@@ -1,6 +1,7 @@
---
title: Protocols
hide_table_of_contents: true
+displayed_sidebar: learn
---
Waku takes a modular approach, providing a range of protocols that enable applications to control the trade-offs involved in the [Anonymity Trilemma](https://eprint.iacr.org/2017/954.pdf). This flexibility empowers applications to make informed choices regarding the desired balance between anonymity, scalability, and latency. Here are the main protocols provided by Waku:
diff --git a/docs/learn/concepts/static-peers.md b/docs/learn/concepts/static-peers.md
index 37eca6c4..94f847ea 100644
--- a/docs/learn/concepts/static-peers.md
+++ b/docs/learn/concepts/static-peers.md
@@ -1,6 +1,7 @@
---
title: Static Peers
hide_table_of_contents: true
+displayed_sidebar: learn
---
Waku applications have the flexibility to embed bootstrap node addresses directly into their codebase. Developers can either use static peers operated by Status or [run a node](/#run-a-waku-node).
diff --git a/docs/learn/concepts/transports.md b/docs/learn/concepts/transports.md
index f4331508..17007a39 100644
--- a/docs/learn/concepts/transports.md
+++ b/docs/learn/concepts/transports.md
@@ -1,6 +1,7 @@
---
title: Transports
hide_table_of_contents: true
+displayed_sidebar: learn
---
Transports help move data packets across a network by establishing connections between peers. They define the rules and protocols to ensure efficient network transmission, routing, and data delivery.
diff --git a/docs/learn/faq.md b/docs/learn/faq.md
index 025ff428..bd66ca7a 100644
--- a/docs/learn/faq.md
+++ b/docs/learn/faq.md
@@ -2,6 +2,7 @@
title: Waku FAQ
hide_table_of_contents: true
sidebar_label: Frequently Asked Questions
+displayed_sidebar: learn
---
import { AccordionItem } from '@site/src/components/mdx'
diff --git a/docs/learn/glossary.md b/docs/learn/glossary.md
index 22e8b74a..a14acdaa 100644
--- a/docs/learn/glossary.md
+++ b/docs/learn/glossary.md
@@ -1,6 +1,7 @@
---
title: Glossary
hide_table_of_contents: true
+displayed_sidebar: learn
---
# Waku Docs Glossary
diff --git a/docs/learn/waku-network.md b/docs/learn/index.md
similarity index 99%
rename from docs/learn/waku-network.md
rename to docs/learn/index.md
index a09d1986..f723fbb1 100644
--- a/docs/learn/waku-network.md
+++ b/docs/learn/index.md
@@ -1,6 +1,7 @@
---
title: The Waku Network
hide_table_of_contents: true
+displayed_sidebar: learn
---
The Waku Network is a shared p2p messaging network that is open-access, useful for generalized messaging, privacy-preserving, scalable and accessible even to resource-restricted devices. Some of the most prominent features include:
diff --git a/docs/learn/research.md b/docs/learn/research.md
index e5f339de..9e8a4df4 100644
--- a/docs/learn/research.md
+++ b/docs/learn/research.md
@@ -1,6 +1,7 @@
---
title: Research
hide_table_of_contents: true
+displayed_sidebar: learn
---
The following features are currently experimental and under research and initial implementation:
diff --git a/docs/learn/security-features.md b/docs/learn/security-features.md
index 7870d429..193769a5 100644
--- a/docs/learn/security-features.md
+++ b/docs/learn/security-features.md
@@ -1,6 +1,7 @@
---
title: Security Features
hide_table_of_contents: true
+displayed_sidebar: learn
---
Waku's protocol layers offer different services and security considerations, shaping the overall security of Waku. We document the security models in the [RFCs of the protocols](https://rfc.vac.dev/), aiming to provide transparent and open-source references. This empowers Waku users to understand each protocol's security guarantees and limitations.
diff --git a/docs/learn/waku-vs-libp2p.md b/docs/learn/waku-vs-libp2p.md
index b5587349..9d8e1688 100644
--- a/docs/learn/waku-vs-libp2p.md
+++ b/docs/learn/waku-vs-libp2p.md
@@ -1,6 +1,7 @@
---
title: Comparing Waku and libp2p
hide_table_of_contents: true
+displayed_sidebar: learn
---
Since Waku is built on top of libp2p, they share a lot of concepts and terminologies between them. However, there are key differences between them that are worth noting.
diff --git a/docs/research/benchmarks/postgres-adoption.md b/docs/research/benchmarks/postgres-adoption.md
index 89fba195..b44642f2 100644
--- a/docs/research/benchmarks/postgres-adoption.md
+++ b/docs/research/benchmarks/postgres-adoption.md
@@ -1,6 +1,7 @@
---
title: PostgreSQL
description: Document that describes why Nim-Waku started to use Postgres and shows some benchmark and comparison results.
+displayed_sidebar: research
---
## Introduction
diff --git a/docs/research/benchmarks/test-results-summary.md b/docs/research/benchmarks/test-results-summary.md
index b5786bf4..3f95fcbe 100644
--- a/docs/research/benchmarks/test-results-summary.md
+++ b/docs/research/benchmarks/test-results-summary.md
@@ -1,5 +1,6 @@
---
title: Performance Benchmarks and Test Reports
+displayed_sidebar: research
---
diff --git a/docs/research/index.md b/docs/research/index.md
index fabbcfb2..b15c46b0 100644
--- a/docs/research/index.md
+++ b/docs/research/index.md
@@ -2,6 +2,7 @@
title: Research
hide_table_of_contents: true
sidebar_position: 1
+displayed_sidebar: research
---
**Research and Studies**: Protocol simulations and theoretical analysis to support the design of Waku protocols. The protocol definitions are on the [Waku RFCs](https://rfc.vac.dev/waku) website.
diff --git a/docs/research/research-and-studies/capped-bandwidth.md b/docs/research/research-and-studies/capped-bandwidth.md
index 007099c2..cf6afc3d 100644
--- a/docs/research/research-and-studies/capped-bandwidth.md
+++ b/docs/research/research-and-studies/capped-bandwidth.md
@@ -1,5 +1,6 @@
---
title: Capped Bandwidth in Waku
+displayed_sidebar: research
---
This post explains i) why The Waku Network requires a capped bandwidth per shard and ii) how to achieve it by rate limiting with RLN v2.
diff --git a/docs/research/research-and-studies/incentivisation.md b/docs/research/research-and-studies/incentivisation.md
index 5721e16b..4add9340 100644
--- a/docs/research/research-and-studies/incentivisation.md
+++ b/docs/research/research-and-studies/incentivisation.md
@@ -1,5 +1,6 @@
---
title: Incentivisation
+displayed_sidebar: research
---
Waku is a family of decentralised communication protocols. The Waku Network (TWN) consists of independent nodes running Waku protocols. TWN needs incentivisation (shortened to i13n) to ensure proper node behaviour.
diff --git a/docs/research/research-and-studies/maximum-bandwidth.md b/docs/research/research-and-studies/maximum-bandwidth.md
index 1d7d6007..a2e8466a 100644
--- a/docs/research/research-and-studies/maximum-bandwidth.md
+++ b/docs/research/research-and-studies/maximum-bandwidth.md
@@ -1,5 +1,6 @@
---
title: Maximum Bandwidth for Global Adoption
+displayed_sidebar: research
---
**TLDR**: This issue aims to **set the maximum bandwidth** in `x Mbps` that each waku shard should consume so that the **maximum amount of people can run a full waku node**. It is up to https://github.com/waku-org/research/issues/22 to specify how this maximum will be enforced.
diff --git a/docs/research/research-and-studies/message-propagation.md b/docs/research/research-and-studies/message-propagation.md
index 6fa17334..d20e5800 100644
--- a/docs/research/research-and-studies/message-propagation.md
+++ b/docs/research/research-and-studies/message-propagation.md
@@ -1,5 +1,6 @@
---
title: Message Propagation Times With Waku-RLN
+displayed_sidebar: research
---
**TLDR**: We present the results of 1000 `nwaku` nodes running `rln` using different message sizes, in a real network with bandwidth limitations and network delays. The goal is to study the message propagation delay distribution, and how it's affected by i) rln and ii) message size in a real environment. We observe that for messages of `10kB` the average end-to-end propagation delay is `508 ms`. We can also observe that the message propagation delays are severely affected when increasing the message size, which indicates that it is not a good idea to use waku for messages of eg. `500kB`. See simulation parameters.
diff --git a/docs/research/research-and-studies/rln-key-benchmarks.md b/docs/research/research-and-studies/rln-key-benchmarks.md
index a7554bcf..a5e13eff 100644
--- a/docs/research/research-and-studies/rln-key-benchmarks.md
+++ b/docs/research/research-and-studies/rln-key-benchmarks.md
@@ -1,5 +1,6 @@
---
title: RLN Key Benchmarks
+displayed_sidebar: research
---
## Introduction
diff --git a/docs/guides/nwaku/build-source.md b/docs/run-node/build-source.md
similarity index 99%
rename from docs/guides/nwaku/build-source.md
rename to docs/run-node/build-source.md
index 282df704..9d510b4b 100644
--- a/docs/guides/nwaku/build-source.md
+++ b/docs/run-node/build-source.md
@@ -1,6 +1,7 @@
---
title: Build Nwaku from Source
hide_table_of_contents: true
+displayed_sidebar: runNode
---
This guide provides detailed steps to build a `nwaku` node from the source code to access the latest development version or a specific commit or release of `nwaku`. For your convenience, you may want to [download a pre-compiled binary](https://github.com/waku-org/nwaku/tags) instead.
diff --git a/docs/guides/nwaku/config-methods.md b/docs/run-node/config-methods.md
similarity index 99%
rename from docs/guides/nwaku/config-methods.md
rename to docs/run-node/config-methods.md
index c9969aeb..75a8f067 100644
--- a/docs/guides/nwaku/config-methods.md
+++ b/docs/run-node/config-methods.md
@@ -1,6 +1,7 @@
---
title: Node Configuration Methods
hide_table_of_contents: true
+displayed_sidebar: runNode
---
Waku nodes can be configured using a combination of the following methods:
diff --git a/docs/guides/nwaku/config-options.md b/docs/run-node/config-options.md
similarity index 99%
rename from docs/guides/nwaku/config-options.md
rename to docs/run-node/config-options.md
index 6041cfec..308c5d82 100644
--- a/docs/guides/nwaku/config-options.md
+++ b/docs/run-node/config-options.md
@@ -1,6 +1,7 @@
---
title: Node Configuration Options
hide_table_of_contents: true
+displayed_sidebar: runNode
---
Here are the available node configuration options, along with their default values and descriptions:
diff --git a/docs/guides/nwaku/configure-discovery.md b/docs/run-node/configure-discovery.md
similarity index 99%
rename from docs/guides/nwaku/configure-discovery.md
rename to docs/run-node/configure-discovery.md
index deabc904..debdf8fe 100644
--- a/docs/guides/nwaku/configure-discovery.md
+++ b/docs/run-node/configure-discovery.md
@@ -1,6 +1,7 @@
---
title: Configure Peer Discovery
hide_table_of_contents: true
+displayed_sidebar: runNode
---
This guide provides detailed steps to configure a `nwaku` node to discover and connect with peers in the Waku Network.
diff --git a/docs/guides/nwaku/configure-nwaku.md b/docs/run-node/configure-nwaku.md
similarity index 99%
rename from docs/guides/nwaku/configure-nwaku.md
rename to docs/run-node/configure-nwaku.md
index c83c31be..f13c138b 100644
--- a/docs/guides/nwaku/configure-nwaku.md
+++ b/docs/run-node/configure-nwaku.md
@@ -1,6 +1,7 @@
---
title: Node Configuration Examples
hide_table_of_contents: true
+displayed_sidebar: runNode
---
This guide provides detailed steps to configure a `nwaku` node for different use cases.
diff --git a/docs/guides/nwaku/faq.md b/docs/run-node/faq.md
similarity index 99%
rename from docs/guides/nwaku/faq.md
rename to docs/run-node/faq.md
index 2544bbec..3c5c8748 100644
--- a/docs/guides/nwaku/faq.md
+++ b/docs/run-node/faq.md
@@ -2,6 +2,7 @@
title: Nwaku FAQ
hide_table_of_contents: true
sidebar_label: Frequently Asked Questions
+displayed_sidebar: runNode
---
import { AccordionItem } from '@site/src/components/mdx'
diff --git a/docs/guides/nwaku/find-node-address.md b/docs/run-node/find-node-address.md
similarity index 99%
rename from docs/guides/nwaku/find-node-address.md
rename to docs/run-node/find-node-address.md
index 931fd3ad..e1ac5887 100644
--- a/docs/guides/nwaku/find-node-address.md
+++ b/docs/run-node/find-node-address.md
@@ -1,6 +1,7 @@
---
title: Find Your Node Address
hide_table_of_contents: true
+displayed_sidebar: runNode
---
:::info
diff --git a/docs/run-node/index.md b/docs/run-node/index.md
new file mode 100644
index 00000000..b71b6d33
--- /dev/null
+++ b/docs/run-node/index.md
@@ -0,0 +1,82 @@
+---
+title: Run a Waku Node
+hide_table_of_contents: true
+displayed_sidebar: runNode
+---
+
+Nwaku is a lightweight and robust Nim client for running a Waku node, equipped with tools to monitor and maintain a running node. Nwaku is highly configurable, enabling operators to select the [protocols](/learn/concepts/protocols) they want to support based on their needs, motivations, and available resources.
+
+## Video Tutorial
+
+