TypeScript SDK for Vaultum Smart Account - ERC-4337 Account Abstraction Wallet
npm install @vaultum/sdk
# or
yarn add @vaultum/sdk
# or
pnpm add @vaultum/sdk
import { VaultumClient } from '@vaultum/sdk';
// Initialize client
const client = new VaultumClient({
apiKey: 'your-api-key',
network: 'sepolia'
});
// Deploy a smart account
const account = await client.deployAccount({
owner: '0x...',
modules: ['social-recovery', 'session-keys', 'spending-limits']
});
// Submit a UserOperation
const opId = await client.submitUserOp({
account: account.address,
calls: [
{
to: '0x...',
value: '0',
data: '0x...'
}
]
});
// Check operation status
const status = await client.getOpStatus(opId);
- π Smart Account Management: Deploy and manage ERC-4337 smart accounts
- π Session Keys: Grant time-bound, limited permissions
- π₯ Social Recovery: Recover accounts with guardian approvals
- π° Spending Limits: Set daily spending caps per token
- β½ Gasless Transactions: Submit UserOps with paymaster support
- π Cross-chain Support: Works on Ethereum, Polygon, Arbitrum, Optimism, Base
// Deploy new account
const account = await client.deployAccount(params);
// Get account info
const info = await client.getAccount(address);
// Submit UserOp
const opId = await client.submitUserOp(userOp);
// Get status
const status = await client.getOpStatus(opId);
// Wait for completion
const receipt = await client.waitForOp(opId);
// Initiate recovery
await client.initiateRecovery(account, newOwner);
// Support recovery
await client.supportRecovery(account, nonce);
// Execute recovery
await client.executeRecovery(account, nonce);
// Grant session key
await client.grantSessionKey(account, key, expiry, selectors);
// Revoke session key
await client.revokeSessionKey(account, key);
// Set limit
await client.setSpendingLimit(account, token, cap);
// Enable owner bypass
await client.enableOwnerBypass(account, duration);
- Ethereum Mainnet
- Ethereum Sepolia (testnet)
- Polygon
- Arbitrum
- Optimism
- Base
- Node.js 16+
- TypeScript 5.0+ (for TypeScript users)
MIT
For issues and feature requests, please visit our GitHub Issues.