👛Wallet Connectors
Overview
Installation
npm install somnia-agent-kitMetaMask Connector
Initialize MetaMask
import { SomniaAgentKit, SOMNIA_NETWORKS } from 'somnia-agent-kit';
// Initialize SDK
const kit = new SomniaAgentKit({
network: SOMNIA_NETWORKS.testnet,
contracts: {
agentRegistry: process.env.AGENT_REGISTRY_ADDRESS!,
agentManager: process.env.AGENT_MANAGER_ADDRESS!,
agentExecutor: process.env.AGENT_EXECUTOR_ADDRESS!,
agentVault: process.env.AGENT_VAULT_ADDRESS!,
},
});
await kit.initialize();
// Get MetaMask connector (recommended)
const metamask = kit.getMetaMaskConnector();
// Check if MetaMask is installed
if (!await metamask.isAvailable()) {
console.log('❌ MetaMask not installed');
console.log('Install from: https://metamask.io');
return;
}
console.log('✅ MetaMask detected!');Connect Wallet
Get Current Account
Get Balance
Switch Network
Add Network
Sign Message
Send Transaction
Listen to Events
Complete Example: MetaMask Integration
React Integration
MetaMask Hook
React Component
Private Key Wallet
Initialize with Private Key
Create New Wallet
Import from Mnemonic
Best Practices
1. Check Wallet Availability
2. Handle Connection Errors
3. Listen for Disconnection
4. Validate Network
5. Never Expose Private Keys
6. Handle Network Changes
7. Show User Feedback
Security Considerations
Private Key Storage
Transaction Validation
User Confirmation
See Also
Last updated

