---
title: Introduction
description: Connect applications over authenticated QUIC and TCP from Rust, Node.js, or React Native.
---

minip2p connects applications over authenticated QUIC and TCP. Use it from Rust, Node.js, or React Native. The Rust API is synchronous and caller-driven; the TypeScript API uses Promises and typed events.

## Choose a starting point

**[Rust](/docs/rust/install)**

Install `minip2p-rs`, connect two peers, and choose optional network
features.

**[TypeScript](/docs/typescript/start)**

Choose Node.js or React Native and make the first connection.

## What minip2p does

- Authenticates peers with Ed25519 identities.
- Listens and connects over QUIC, TCP, or both.
- Negotiates custom protocol streams between peers.
- Adds pubsub, discovery, relay paths, and NAT traversal when requested.
- Runs on `no_std + alloc` devices through the portable Rust endpoint.

The base configuration includes QUIC, Identify, Ping, and custom protocols. Optional capabilities keep the same endpoint interface.

## Common tasks

**[Connect two Rust peers](/docs/rust/connect-peers)**

Print a peer address and measure a Ping RTT between two processes.

**[TypeScript connections and streams](/docs/typescript/connections-and-streams)**

Connect, cancel work, and exchange bytes over custom protocols.

**[Publish with pubsub](/docs/rust/pubsub)**

Subscribe and publish with gossipsub from Rust.

**[TypeScript networking](/docs/typescript/networking-and-events)**

Use events, pubsub, discovery, mDNS, relays, and NAT traversal.

**[Traverse NAT](/docs/rust/traverse-nat)**

Reach peers through a relay and upgrade to a direct path when possible.

**[Host a relay server](/docs/rust/host-a-relay)**

Install and operate the minip2p Circuit Relay v2 server.

## Reference

**[Feature matrix](/docs/reference/feature-matrix)**

Compare capabilities and required network infrastructure.

**[Glossary](/docs/reference/glossary)**

Look up the terms used across both language sections.

**[Rust API docs](https://docs.rs/minip2p-rs/latest/minip2p/)**

Browse the published Rust reference for the latest release.

**[Rust troubleshooting](/docs/rust/troubleshooting)**

Diagnose connection, stream, discovery, and event problems.

**[TypeScript troubleshooting](/docs/typescript/troubleshooting)**

Diagnose Promise, stream, lifecycle, and mobile problems.

## Constraints

|  |  |
| --- | --- |
| pre-1.0 | Interfaces may change before the first stable release. |
| QUIC and TCP | The peer address picks the transport. |
| no_std + alloc | Portable Rust applications supply network I/O, time, and entropy. |
| Rust 1.91+ | Minimum supported Rust version. |
| Node.js 24+ | Minimum supported Node.js version. |
