Decentralized ride-sharing on a custom blockchain
On-chain ride payments · Client-side signing · Driver-first CLT economics
Website · Documentation · Demo App · npm SDK
Clutch Protocol is an open, modular blockchain stack for decentralized ride-sharing. Apps connect through a GraphQL Hub API and JavaScript SDK; transactions are signed client-side and settled on-chain with Aura consensus.
CLT economics: Drivers keep most of each fare. Referrers earn up to 4% (default 2%+2%) on RidePay. Validators earn a fixed block reward (50 CLT/block), separate from rides. See CLT Economics.
Note: Community governance (DAO) is on the roadmap. It is not yet implemented in the current codebase.
| Repository | Role | Stack |
|---|---|---|
| clutch-node | Blockchain core (Aura, custom txs) | Rust |
| clutch-hub-api | App bridge — GraphQL, faucet, JWT auth | Rust |
| clutch-hub-sdk-js | Client SDK — signing, queries, subscriptions | TypeScript |
| clutch-hub-demo-app | Reference passenger/driver demo | React / Vite |
| clutch-explorer | Block explorer (indexer + REST API) | Rust + React |
| clutch-deploy | Full-stack Docker Compose | Docker |
| clutch-docs | Developer documentation site | Docusaurus |
| clutchprotocol.github.io | Marketing website | HTML / CSS |
| .github | Organization profile | — |
Canonical docs: https://docs.clutchprotocol.io
Demo App / Your dApp
│
▼
clutch-hub-sdk-js (client-side signing)
│
▼
clutch-hub-api (GraphQL + /faucet)
│
▼
clutch-node (WebSocket JSON-RPC, Aura validators)
│
▼
clutch-explorer (indexes blocks → Postgres → REST UI)
Run the full stack locally with clutch-deploy:
git clone https://github.com/clutchprotocol/clutch-deploy.git
cd clutch-deploy
cp .env.example .env
docker compose up -d| Service | URL |
|---|---|
| Hub API | http://localhost:3000/health |
| Demo app | http://localhost:5173 |
| Explorer | http://localhost:5174 |
| GraphQL | http://localhost:3000/graphql |
Full guide: Quick Start
npm install clutch-hub-sdk-jsimport { ClutchHubSdk } from 'clutch-hub-sdk-js';
const sdk = new ClutchHubSdk('http://localhost:3000', publicKey);
await sdk.requestFaucet(publicKey);
const unsigned = await sdk.createUnsignedRideRequest({
pickup: { latitude: 35.7, longitude: 51.4 },
dropoff: { latitude: 35.8, longitude: 51.5 },
fare: 1000,
});
const signed = await sdk.signTransaction(unsigned, privateKey);
await sdk.submitTransaction(signed.rawTransaction);See Ride Lifecycle for the full passenger/driver flow.
| Environment | Demo | API |
|---|---|---|
| Local | http://localhost:5173 | http://localhost:3000 |
| Stage | https://app-stage.clutchprotocol.io | https://api-stage.clutchprotocol.io |
| Production demo | https://demo.clutchprotocol.io | — |
| Layer | Technology |
|---|---|
| Consensus | Aura (authority round-robin) |
| Blockchain | Custom Rust, non-EVM RLP transactions |
| Signing | secp256k1, Keccak-256, client-side only |
| P2P | libp2p |
| Hub API | GraphQL HTTP + WebSocket subscriptions |
| Node RPC | WebSocket JSON-RPC |
| Layer | Mechanism | Default |
|---|---|---|
| RidePay | Referrer fees + driver remainder | 2% request + 2% offer |
| Blocks | Reward to block author | 50 CLT per block |
Example: 10 CLT fare, one RidePay, both referrers → driver 8 CLT, referrers 1 CLT each.
Full details: docs.clutchprotocol.io/clutch-node/clt-economics
| Phase | Status | Milestone |
|---|---|---|
| Core stack + demo | Done | Node, Hub API, SDK, demo app, deploy |
| Developer docs | Done | docs.clutchprotocol.io |
| Block explorer | Done | clutch-explorer |
| Public testnet (stage) | Live | Stage URLs + faucet |
| DAO governance | Planned | On-chain community voting |
| Cross-chain (Cosmos IBC) | Planned | Interoperability |
| Layer-2 scaling | Planned | Higher throughput |
Alpha software — APIs may change without notice. Use at your own risk.
- Fork a repository
- Create a feature branch
- Follow Conventional Commits
- Open a pull request
- GitHub Discussions
- Documentation
- Report bugs via GitHub Issues in the relevant repo
- Private keys never leave the client — all signing is done via the SDK
- Wallet-based JWT auth (no username/password)
- Every transaction is auditable on-chain
Details: Security
Building decentralized mobility, one block at a time
Created and maintained by Mehran Mazhar
Star us · Docs · Demo · Discussions