⚠️ ALPHA SOFTWARE — APIs may change without notice.
JavaScript/TypeScript SDK for the Clutch Hub API and Clutch blockchain.
Documentation: https://docs.clutchprotocol.io/clutch-hub-sdk-js/overview
npm install clutch-hub-sdk-jsimport { ClutchHubSdk } from 'clutch-hub-sdk-js';
// privateKey is needed for authenticated calls: generateToken requires a signed
// proof-of-key-ownership challenge (the key stays local, it is never sent).
const sdk = new ClutchHubSdk('http://localhost:3000', publicKey, privateKey);
// Fund test wallet
await sdk.requestFaucet(publicKey);
// Create, sign, and submit a ride request
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);- Client-side signing (private keys never sent to server)
- Full ride lifecycle: request, offer, accept, pay, cancel
- GraphQL queries and WebSocket subscriptions
- Testnet faucet helper
- TypeScript types
| Category | Methods |
|---|---|
| Auth | Auto generateToken via ensureAuth() (signed challenge; needs the private key), setPrivateKey, signAuthChallenge |
| Write | createUnsignedRide*, signTransaction, submitTransaction |
| Read | listRideRequests, listRideOffers, listActiveTrips, getAccountBalance, … |
| Live | subscribeRideRequests, subscribeRideOffers, subscribeActiveTrips, … |
| Faucet | requestFaucet(recipientAddress) |
Full reference: https://docs.clutchprotocol.io/clutch-hub-sdk-js/api-reference
Never expose private keys. Client-side signing only. See Security.
Uses semantic-release with conventional commits.
Created and maintained by Mehran Mazhar