tribe
Open social protocol on Solana

The hyper-local
social network.

Connect with your neighborhood. Discover local events, join tribes, and build trust where you live — on a protocol you own.

12
Solana programs
100%
Open source
21
Cities
MIT
License

What is Tribe, exactly?

Tribe is a decentralized social protocol on Solana — like email, but for social. Anyone can run a node, build a client, or read the source. No company controls who can post or who can see what.

You own your identity

Your account is a Solana keypair — no email, no password, no company that can deactivate you. Your TID and all your content go wherever you go.

No single server

Content lives across a mesh of independent hubs that gossip with each other. If one goes down, the others still have the data. Run your own hub on a $5 VPS or a Raspberry Pi.

Fork the client

tribeapp.wtf is just one frontend. The protocol is open. Build a different UI, a mobile app, a CLI, a bot — they all speak the same signed-message format and talk to the same hubs.

Key concepts.

Six ideas that explain how the whole thing works. Read these once and everything else will click.

TID (Tribe ID)

A unique 64-bit number minted on Solana. Each TID has a custody wallet (signs daily actions) and a recovery wallet (reclaims the TID if the custody key is lost). No email, no password — just keys you own.

App Keys

Scoped ed25519 signing keys delegated by your TID. Your main wallet stays safe; the app signs messages with a device-specific key. Keys can be revoked, rotated, or scoped to just tweets, social, or read-only.

Signed Messages

Every action — tweet, reaction, follow, DM, poll vote, RSVP — is a protobuf envelope signed with your app key and hashed with BLAKE3. The hub validates the signature against on-chain app key records before accepting anything.

Hub

A Fastify + Postgres node anyone can run. It stores signed messages, indexes Solana events (follows, TID registrations), and gossips with peer hubs. No central server owns the data.

Ephemeral Rollup

A sequencer that accepts follow/unfollow intents signed by your custody wallet, confirms them instantly (~50 ms), then batches them to Solana L1 every 10 seconds. You see 'Following' immediately; the chain catches up.

End-to-end DMs

Each user publishes an x25519 pubkey on the hub. DMs are sealed with nacl.box (XSalsa20-Poly1305). The hub stores ciphertext — it never sees plaintext. Group DMs encrypt per recipient.

How a tweet travels.

From keypress to every connected peer — four steps, zero central servers.

Step 01

User signs a message

The app builds a MessageData payload (type, TID, timestamp, body). The ed25519 app key signs the BLAKE3 hash. This produces a TribeMessage envelope.

Step 02

Hub validates and stores

The hub fetches the TID's app key record from Solana, verifies the ed25519 signature, checks the BLAKE3 hash, and writes the envelope to Postgres.

Step 03

Hub gossips to peers

Every 5 seconds each hub broadcasts 'have' frames (hashes of recent messages). Peer hubs reply with 'want' for any they're missing. Full envelopes flow back.

Step 04

Clients get real-time updates

Apps subscribe to the hub WebSocket (/v1/ws). New validated messages are pushed immediately — no polling, no central broker.

Architecture.

Five independent layers. Each is a separate open-source repo with its own README. Swap any layer — the contracts between them are signed envelopes and public HTTP routes.

Applications

tribe-app · tribeapp.wtf · tribe-ios

Next.js web clients and a native SwiftUI iOS app. All build signed envelopes locally — the hub never receives plaintext intent.

TypeScript SDK

tribe-sdk

Single entry-point client covering identity, social graph, tweets, DMs, channels, bookmarks, polls, events, tasks, crowdfunds, tips, search, karma, and notifications. Published as @tribe-protocol/sdk.

Decentralized Hub

tribe-hub

Fastify + Postgres node that stores validated signed envelopes, indexes Solana events via WebSocket subscription + startup backfill, and syncs with peers over a pull-based gossip protocol.

Ephemeral Rollup Sequencer

tribe-er-server

Accepts follow/unfollow intents signed by custody wallets, confirms instantly (optimistic), batches follow_delegated / unfollow_delegated instructions, and settles to L1 every 10 seconds.

Solana Programs (12)

tribe-protocol

Anchor programs for identity (TID, app keys, usernames), social graph with ER delegation, hub discovery, tips, crowdfunds, tasks, channel ownership, karma, polls, and events.

tribe-protocol · 12 Anchor programs on Solana

The on-chain layer.

Every program is independently deployed. Identity, social graph, hub discovery, and community primitives — each in its own Anchor workspace program.

tid-registry

Mints TIDs, tracks custody + recovery addresses

app-key-registry

Registers, revokes, and rotates app signing keys

username-registry

Human-readable .tribe usernames bound to TIDs

social-graph

PDA-per-relationship follow graph + ER delegation

hub-registry

On-chain hub discovery — URL, gossip key, heartbeat

tip-registry

On-chain tip receipts with SOL transfer in one ix

crowdfund-registry

Campaign escrow — pledge, claim, or refund

task-registry

Local tasks with optional reward escrow

channel-registry

First-registration ownership of channel slugs

karma-registry

Trustless karma from on-chain tip + task proofs

poll-registry

One-vote-per-TID polls with 8-slot tally

event-registry

Events with one-RSVP-per-TID and lat/lng

Get going in four steps.

Pick Your City

Choose from cities like Bangalore, Mumbai, San Francisco, London, and more. Each city has its own thriving community.

01

Create Your Profile

Set up your profile to unlock tipping, crowdfunding, and community reputation features.

02

Join Your Tribes

Find communities that match your interests — cycling, food, tech, art, music, gaming, and 10+ more categories.

03

Start Contributing

Post tweets, create events, run polls, help with tasks, fund causes, and earn karma to build your reputation.

04

Everything you need for
your neighborhood.

From sharing moments to funding projects, Tribe gives you the tools to connect and grow your town.

Social Feed

Share photo tweets, like and comment on posts, bookmark your favorites, and build a following in your neighborhood.

Tipping

Tip creators directly. Choose from preset amounts and see your tip history.

Local Events

Discover meetups, cleanups, workshops, and festivals happening nearby. Create events and track RSVPs.

Community Polls

Ask your community anything. Create multi-option polls and watch the votes come in real-time.

Local Tasks

Need help moving? Looking for a dog walker? Post tasks with optional rewards for community helpers.

Crowdfunding

Rally your neighborhood behind a cause. Fund community gardens, local art projects, or neighborhood repairs.

Community Powered

Real value for
real people.

Tip creators, fund projects, and earn reputation. Every interaction is real and meaningful.

Direct tipping with one click
Transparent community crowdfunding
On-chain reputation and karma
Built for your neighborhood

Community Impact

2,450+

Active contributors

Recent Activity

@priya_art
+10 karma
@rahul_cycles
+20 karma
@maya_cooks
+30 karma

Earn karma. Build trust.

Every contribution builds your neighborhood reputation — tips received and tasks completed settle on-chain as trustless proofs.

Newcomer

Neighbor

Local

Trusted

Pillar

Legend

21 cities on the network.

Each city has its own channel on the protocol — scoped by latitude and longitude, owned on-chain via the channel registry.

🇮🇳
Bengaluru
India
🇮🇳
Mumbai
India
🇮🇳
Delhi
India
🇮🇳
Chennai
India
🇮🇳
Hyderabad
India
🇮🇳
Kolkata
India
🇮🇳
Jaipur
India
🇮🇳
Kochi
India
🇮🇳
Ahmedabad
India
🇮🇳
Puducherry
India
🇮🇳
Pune
India
🇺🇸
San Francisco
United States
🇬🇧
London
United Kingdom
🇺🇸
New York
United States
🇫🇷
Paris
France
🇩🇪
Berlin
Germany
🇦🇪
Dubai
United Arab Emirates
🇸🇬
Singapore
Singapore
🇯🇵
Tokyo
Japan
🇺🇸
Seattle
United States
🇺🇸
Austin
United States
Built on the Tribe Protocol

tribeapp.wtf is one client.
The protocol is the point.

Tribe is an open social protocol on Solana. Identity lives in wallet-recoverable Tribe IDs, content rides as signed envelopes, direct messages are end-to-end encrypted, and anyone can run a hub. tribeapp.wtf is a hyperlocal frontend on top — fork it, build a different one, or skip the UI entirely and talk to the SDK.

TIDs and app keys

Wallet-recoverable Tribe IDs registered on Solana, with rotatable per-device app signing keys.

Tweets, channels, polls

Signed message envelopes for posts, channels, polls, events, tasks, crowdfunds, and tips.

End-to-end DMs

x25519 + xsalsa20-poly1305 ciphertext on the wire. Hub never sees plaintext. Group DMs via per-recipient fanout.

Hub gossip

Pull-based replication between independent hubs. Run your own; messages catch up on connect.

On-chain reputation

Karma rolls up tips received and completed tasks per TID — proofs are trustless and public.

Open SDK

TypeScript client covering identity, social, DMs, channels, polls, events, tasks, crowdfunds, tips.

What can you build?

Tribe provides the primitives for identity, social, and value. You provide the experience. Here are a few things you could build right now.

Hyperlocal Marketplaces

Build peer-to-peer commerce, local service directories, or neighborhood rental networks using the protocol's tasks and payments primitives.

Community Media

Create specialized news feeds, local journalism platforms, or interest-based forums with built-in tipping and karma.

Niche Social Networks

Launch dedicated platforms for gamers, hobbyists, or professionals utilizing verifiable identity and the open social graph.

Governance & DAOs

Develop neighborhood treasuries, local governance interfaces, or community voting systems using signed polls and Solana.

Crowdfunding Portals

Build mutual aid networks, local project funding, or transparent charity platforms leveraging the native value transfer.

Developer Tools

Create analytics dashboards, alternative clients, indexers, or automation bots that plug directly into the open protocol.

tribe-sdk · @tribe-protocol/sdk

Start building in minutes.

One TypeScript client for everything — identity, social, DMs, channels, polls, events, tasks, crowdfunds, tips.

import { TribeClient } from '@tribe-protocol/sdk';

const client = TribeClient.forDevnet(wallet);

// Register a TID on Solana
await client.identity.tid.register();

// Add a per-device signing key
await client.identity.appKeys.addKey(tid, appPubkey, scope);

// Publish a tweet
await client.tweets.publish(tid, "gm from the mesh", signingKey);

// Send an encrypted DM (nacl.box — hub never sees plaintext)
await client.dms.send(myTid, recipientTid, "hey");

// Follow someone (instant via ER, settles to L1 in 10s)
await client.social.follow(myTid, targetTid);

// Create a local event
await client.events.create(tid, { title: "Rooftop meetup", startsAt });