A lightweight SDK for signing transactions and messages with Lit Protocol. This SDK simplifies the process of creating wallets and signing transactions using Lit's Programmable Key Pairs (PKPs).
This SDK is a wrapper around our full-featured SDK which also supports client-side functionality, decryption, and more. functionality, decryption, and more.
- 🔑 Easy wallet creation and management
- ✍️ Transaction and message signing
- 🔒 Secure key management via Lit Protocol
- 🚀 Simple, serverside-focused API
- ⚡ Lightweight and efficient
npm install @lit-protocol/lit-agent-signer
# or
yarn add @lit-protocol/lit-agent-signer
import { LitClient } from '@lit-protocol/lit-agent-signer';
// Initialize the client with your Lit auth key
const client = await LitClient.create(process.env.LIT_AUTH_KEY);
// Create a new wallet
const { pkp } = await client.createWallet();
console.log('Wallet created:', pkp);
// Sign a transaction or message
const signedMessage = await client.sign({
toSign: '0x8111e78458fec7fb123fdfe3c559a1f7ae33bf21bf81d1bad589e9422c648cbd',
});
console.log('Message signed:', signedMessage);
First, initialize the client with your Lit authentication key:
const client = await LitClient.create(authKey);
Create a new wallet:
const { pkp } = await client.createWallet();
Get existing wallet:
const pkp = client.getPkp();
Sign a message or transaction:
const signedMessage = await client.sign({
toSign: '0x8111e78458fec7fb123fdfe3c559a1f7ae33bf21bf81d1bad589e9422c648cbd',
});
You can also execute JavaScript code using Lit Protocol:
const result = await client.executeJs({
code: `
Lit.Actions.setResponse({ response: message + " - processed by Lit Protocol" });
`,
jsParams: {
message: 'Hello',
},
});
When you're done, disconnect the client:
await client.disconnect();
Make sure to set up the following environment variable:
LIT_AUTH_KEY
: Your Lit Protocol authentication key
Check out the examples
directory for more detailed examples:
basic-usage.ts
: Complete example showing all main featuresminimal-signing.ts
: Minimal example focused on transaction signing
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License