Towns Protocol

Towns Protocol is an open, decentralized messaging protocol built on Base. Builders integrate via first-party TypeScript SDKs, a React SDK of hooks, and a bot/app framework. Under the hood the network exposes a Connect/gRPC Stream RPC service (StreamService, AppRegistryService, AuthenticationService) defined in public protobuf files, with end-to-end encrypted message streams carried by Stream Nodes and spaces/memberships/entitlements enforced by on-chain smart contracts.

API entry from apis.yml

apis.yml Raw ↑
name: Towns Protocol
description: Towns Protocol is an open, decentralized messaging protocol built on Base. Builders integrate
  via first-party TypeScript SDKs, a React SDK of hooks, and a bot/app framework. Under the hood the network
  exposes a Connect/gRPC Stream RPC service (StreamService, AppRegistryService, AuthenticationService)
  defined in public protobuf files, with end-to-end encrypted message streams carried by Stream Nodes
  and spaces/memberships/entitlements enforced by on-chain smart contracts.
humanURL: https://docs.towns.com
baseURL: https://app.towns.com
tags:
- Messaging
- Web3
- Protocol
- Bots
- gRPC
properties:
- type: Documentation
  url: https://docs.towns.com
- type: GettingStarted
  url: https://docs.towns.com/build/bots/getting-started
- type: Protobuf
  url: grpc/here-not-there-labs-protocol.proto
- type: Protobuf
  url: grpc/here-not-there-labs-apps.proto
- type: Protobuf
  url: grpc/here-not-there-labs-auth.proto
- type: Protobuf
  url: grpc/here-not-there-labs-payloads.proto
- type: Webhooks
  url: asyncapi/here-not-there-labs-bot-events.yml
- type: Authentication
  url: authentication/here-not-there-labs-authentication.yml
- type: Conventions
  url: conventions/here-not-there-labs-conventions.yml