diff --git a/content/concepts/discovery-routing/rendezvous.md b/content/concepts/discovery-routing/rendezvous.md
index fe3ca878..ed7a75df 100644
--- a/content/concepts/discovery-routing/rendezvous.md
+++ b/content/concepts/discovery-routing/rendezvous.md
@@ -1,7 +1,86 @@
---
title : "Rendezvous"
-description: "The rendezvous protocol can facilitate the routing and discovery of nodes in a peer-to-peer network using a common location."
+description: "The rendezvous protocol can facilitate the routing and discovery of nodes in a P2P network using a common location."
weight: 223
---
-Coming soon!
+## What is Rendezvous?
+
+A rendezvous protocol is a routing protocol that enables nodes and resources
+in a P2P network to discover each other. Rendezvous is used
+as a common location (point) to route between two routes.
+
+Rendezvous points are typically nodes that are well-connected and stable in
+a network and can handle large amounts of traffic and data. They
+serve as a hub for nodes to discover.
+
+
+ Rendezvous is not decentralized
+
+ It is important to note that Rendezvous is not decentralized but rather
+ federated. While this has its use cases, it also introduces a single
+ point of failure into the network. This can be contrasted with fully decentralized
+ solutions like DHT and Gossipsub. DHT (Distributed Hash Table) and Gossipsub are
+ decentralized alternatives to Rendezvous.
+
+ [DHT](kaddht.md) is a distributed network protocol used to store and
+ retrieve data in a P2P network efficiently. It is like a hash table mapping keys
+ to values, allowing for fast lookups and efficient data distribution across the network.
+
+ [Gossipsub](pubsub.md), on the other hand, is a pub-sub (publish-subscribe) protocol
+ that is used to distribute messages and data across a network. It uses a gossip-based
+ mechanism to propagate messages throughout the network, allowing fast and efficient
+ distribution without relying on a central control point.
+
+
+
+## Rendezvous in libp2p
+
+{{< alert icon="💡" context="info" text="The current rendezvous implementation replaces the initial ws-star-rendezvous implementation with rendezvous daemons and a fleet of p2p-circuit relays." />}}
+
+The libp2p rendezvous protocol can be used for different use cases. E.g. it can
+be used during bootstrap to discover circuit relays that provide connectivity
+for browser nodes. Generally, a peer can use known rendezvous points to find
+peers that provide network services. Rendezvous is also used throughout the
+lifetime of an application for peer discovery by registering and polling
+rendezvous points. In an application-specific setting, rendezvous points can be
+used to progressively discover peers that can answer specific queries or host
+shards of content.
+
+The libp2p rendezvous protocol allows peers to connect to a rendezvous point and
+register their presence by sending a `REGISTER` message in one or more
+namespaces. Any node implementing the rendezvous protocol can act as a
+rendezvous point, and any peer can connect to a rendezvous point. However, only
+peers initiating a registration can register themselves at a rendezvous point.
+
+By registering with a rendezvous point, peers allow for their discovery by other peers who
+query the rendezvous point. The query may:
+
+- provide namespace(s), such as `test-app`;
+- optionally provide a maximum number of peers to return;
+- can include a cookie that is obtained from the response to a previous query,
+ thus the current query only contain registrations that weren't part of the
+ previous response.
+ > This simplifies discovery as it reduces the overhead of queried peers and allows for
+ > the pagination of query responses.
+
+There is a default peer registration lifetime of 2 hours. Peers can optionally specify the
+lifetime using a TTL parameter in the `REGISTER` message, with an upper bound of 72 hours.
+
+The rendezvous protocol runs over libp2p streams using the protocol ID `/rendezvous/1.0.0`.
+
+
+
+### Rendezvous and publish-subscribe
+
+For effective discovery, rendezvous can be combined with [libp2p publish/subscribe](../messaging/pubsub/overview).
+At a basic level, rendezvous can bootstrap pubsub by discovering peers subscribed to a topic. The rendezvous would
+be responsible for publishing packets, subscribing, or unsubscribing from packet shapes.
+
+Pubsub can also be used as a mechanism for building rendezvous services, where a number
+of rendezvous points can federate using pubsub for internal distribution while still
+providing a simple interface to clients.
+
+
+
+{{< alert icon="💡" context="note" text="See the rendezvous technical specification for more details." />}}