caishen-sdk  by CaishenTech

Crypto wallet SDK for multi-chain asset management

created 5 months ago
275 stars

Top 94.9% on sourcepulse

GitHubView on GitHub
Project Summary

This SDK provides developers with a unified interface for multi-chain cryptocurrency wallet management and operations, targeting applications needing to interact with various blockchains and handle digital assets. It simplifies sending, swapping, and managing tokens across Ethereum, Bitcoin, Solana, and many other chains, along with a gasless stablecoin system called "Cash."

How It Works

The SDK leverages underlying blockchain libraries (ethers.js, bitcoinjs-lib, etc.) to abstract away chain-specific complexities. It offers type-safe TypeScript APIs for common operations like sending tokens, checking balances, and executing swaps. Authentication can be handled via OAuth providers or a custom JWT-based system for backend integration, ensuring secure access to wallet functionalities.

Quick Start & Requirements

  • Primary install: npm install @caishen/sdk or yarn add @caishen/sdk
  • Requires Node.js ≥ 14.x and TypeScript ≥ 4.x.
  • Example usage:
    import { CaishenSDK } from "@caishen/sdk";
    const sdk = new CaishenSDK({ projectKey: "your-project-key" });
    await sdk.connectAsUser({ token: 'USER TOKEN', provider: 'google' });
    
  • Links: Docs

Highlighted Details

  • Supports over 15 major blockchains including EVM-compatible chains, Solana, NEAR, Ripple, and TON.
  • Features a "Cash" system for gasless, cross-chain stablecoin transfers using an internal ERC-20-compatible token.
  • Offers custom authentication via JWTs signed with a projectSecret for secure backend integration.
  • Demonstrates integration with Vercel AI, Langchain, and ElevenLabs for AI-powered applications.

Maintenance & Community

  • MIT License.
  • Contributions are welcome via GitHub issues or PRs.

Licensing & Compatibility

  • MIT License, permitting commercial use and integration with closed-source applications.

Limitations & Caveats

  • The privateKey is only returned if allowPrivateKeyAccess is enabled in the developer dashboard, and should not be sent back to the server.
  • Custom RPC support is not available for Bitcoin-based blockchains.
Health Check
Last commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
278 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.