near-multi-account
Provides a NEAR multi-account manager that encrypts private keys and performs NEAR network operations. It uses NEAR_SKILL_KEY, stores data under ~/.openclaw/skills/near-multi-account-manager/, and includes a hardcoded Authorization: 'Bearer sk_live_iOQS6NKYgLCf8sAcIsjeNpIvsN9ml7fK6CVrfIyPIVs' used to call market.near.ai.
NEAR Multi-Account Manager
An OpenClaw skill for securely managing multiple NEAR Protocol accounts.
Features
- 🔐 Secure Storage - Account credentials are encrypted and stored locally
- 🔄 Easy Switching - Quickly switch between active accounts
- 💰 Balance Checking - View balances for all accounts
- 💸 Transfers - Transfer NEAR between accounts
- 📊 Summaries - Get a comprehensive overview of all accounts
- 📜 Transaction Tracking - View account transaction history
Installation
cd C:\Users\Shai\.openclaw\skills\near-multi-account-manager
npm install
Usage
Add an Account
Add a NEAR account to the manager:
await add_account({
accountId: "your-account.near",
privateKey: "ed25519:...",
name: "My Main Account" // optional
});
List All Accounts
List all managed accounts:
await list_accounts();
Set Active Account
Set the active account for operations:
await set_active_account({
accountId: "your-account.near"
});
Get Account Balance
Get balance for a specific or active account:
// Get active account balance
await get_balance();
// Get specific account balance
await get_balance({ accountId: "your-account.near" });
Get All Balances
Get balances for all managed accounts:
await get_all_balances();
Transfer NEAR
Transfer NEAR between accounts:
await transfer({
from: "sender.near", // optional, uses active if not specified
to: "receiver.near",
amount: "1.5", // in NEAR
note: "Payment" // optional
});
Get Transactions
View transaction information for an account:
await get_transactions({ accountId: "your-account.near" });
Account Summary
Get a comprehensive summary of all accounts:
await account_summary();
Remove Account
Remove an account from the manager:
await remove_account({
accountId: "your-account.near",
confirm: "your-account.near" // must match accountId
});
Export Accounts
Export account information (without private keys):
await export_accounts();
Import Account
Import an account (requires adding private key separately):
await import_account({
accountId: "your-account.near",
name: "Imported Account"
});
Security
- Private keys are encrypted using AES-256-CBC
- Encryption key can be set via
NEAR_SKILL_KEYenvironment variable - Never share your private keys
- Backup your encrypted account file regularly
Environment Variables
NEAR_SKILL_KEY- Custom encryption key (defaults to a built-in key)OPENCLAW_HOME- OpenClaw home directory (for data storage)
Data Storage
Account data is stored in:
~/.openclaw/skills/near-multi-account-manager/
├── accounts.enc # Encrypted account storage
└── active_account.txt # Current active account
Network
Currently operates on NEAR mainnet. Testnet support can be added by modifying the NETWORK_ID constant.
License
MIT