Skip to content

Repository files navigation

clutch-hub-sdk-js

Alpha Experimental License TypeScript npm

⚠️ 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

Install

npm install clutch-hub-sdk-js

Usage

import { 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);

Features

  • 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

API methods

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

Security

Never expose private keys. Client-side signing only. See Security.

Releases

Uses semantic-release with conventional commits.

Created and maintained by Mehran Mazhar

About

JavaScript SDK for interacting with the clutch-hub-api

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages