Build on Locality.

Build new experiences without rebuilding the organizational infrastructure underneath them.

Connect your application to Communities, Members, Roles, Governance, Services and Community Tokens through the Locality Network.

Locality Network is built with Cosmos SDK and designed for independent application integration.

Public. Permissionless. Built for applications.

Diagram: how the four Locality projects connect. Easy (a PWA) talks to an AI Agent and to the Wallet Server over Socket.IO; the AI Agent calls an external LLM Provider and bridges to the Wallet Server; the Wallet Server writes to its own Wallet DB and exchanges transactions and queries with Chain; Chain is shown as four validator nodes inside one box, sending block events back to the Wallet Server.

Two ways to start

Path A

Through the Wallet Server

Connect over Socket.IO, sign in, and call its events. Here, list communities.

import { io } from 'socket.io-client';

const url = 'https://your-wallet-server';
const email = 'your email';
const password = 'your password';

// 1. Sign in. The answer carries your access token.
const guest = io(url);
guest.emit('auth:login', { body: { email, password } });
guest.once('auth:logged', ({ result }) => {
  // 2. Connect again with the token, then ask for communities.
  const socket = io(url, { auth: { token: result.user.access } });
  socket.emit('community:list', { query: { take: 2 } });
  socket.once('community:listed', ({ result }) => console.log(result.communities));
});
Path B

Directly, with CosmJS

Read the blockchain with CosmJS, and the network's own queries over REST. No sign-in is needed.

import { StargateClient } from '@cosmjs/stargate';

const rpc = 'http://your-node:26657';
const rest = 'http://your-node:1317';
const communityAddress = 'loca1...';

// A CosmJS client reads the standard modules: here, what a Community holds.
const client = await StargateClient.connect(rpc);
console.log(await client.getAllBalances(communityAddress));

// The network's own queries are plain REST.
const { communities } = await (await fetch(`${rest}/loca/comm/community`)).json();
console.log(communities);

The blockchain at a glance

Built with
Cosmos SDK
Chain ID
loca-1
Address prefix
loca
Base token
uloca
A node serves, by default
REST on 1317, gRPC on 9090, WebSocket events on 26657