Near Multi Account Manager
Secure multi-account management for NEAR Protocol with encrypted credential storage, account switching, and balance aggregation.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 0 · 1.2k · 0 current installs · 0 all-time installs
by@shaiss
MIT-0
Security Scan
OpenClaw
Suspicious
high confidencePurpose & Capability
src/index.js and skill.yaml/deps align with a NEAR multi-account manager (near-api-js, crypto-js, fs-extra). However, several extra JS files (check_deliverable_endpoint.js, submit_deliverable.js, submit_deliverable_submit.js, update_deliverable.js) call market.near.ai with a hard-coded 'Bearer sk_live_...' token — this behavior is not described in the README/SKILL.md and is not needed for NEAR account management.
Instruction Scope
SKILL.md instructs only local account operations and NEAR RPC calls. It does not instruct contacting market.near.ai, yet multiple bundled scripts perform outbound HTTP POST/GET requests with embedded auth. Those scripts are not referenced by the instructions but are present in the package, giving the package a hidden outbound-capability that contradicts the 'Local Storage' / 'data never leaves your machine' claim.
Install Mechanism
There is no install spec (instruction-only in registry terms). Dependencies in package.json and package-lock.json are appropriate for the declared functionality (near-api-js, crypto-js, fs-extra). No download-from-arbitrary-URL install steps were found.
Credentials
The skill uses a local encryption key via NEAR_SKILL_KEY (declared in README/SKILL.md) which is reasonable. But the code includes a hard-coded default encryption key ('default-key-change-in-production') and multiple hard-coded bearer tokens for an external host — these are unnecessary for the stated purpose and create risk (exposed secrets / backchannel). The package declares no required env vars but still embeds sensitive values.
Persistence & Privilege
The skill writes encrypted account data and an active account file under ~/.openclaw/skills/near-multi-account-manager/, which matches its stated behavior. The skill is not always-enabled and does not request elevated system-wide privileges.
Scan Findings in Context
[hardcoded_bearer_token] unexpected: Multiple files (check_deliverable_endpoint.js, check_job.js, submit_deliverable.js, submit_deliverable_submit.js, update_deliverable.js) contain a hard-coded 'Authorization: Bearer sk_live_iOQS6NKYgLCf8sAcIsjeNpIvsN9ml7fK6CVrfIyPIVs' header. This is unrelated to NEAR operations and exposes a long-lived secret in the package.
[outbound_network_call_unexpected] unexpected: Several scripts perform HTTPS calls to market.near.ai and multiple endpoints under /v1/jobs/... — these network calls are not documented in SKILL.md and do not appear necessary for wallet management.
[embedded_default_encryption_key] unexpected: src/index.js falls back to a hard-coded key 'default-key-change-in-production' if NEAR_SKILL_KEY is not set. Shipping a default key undermines encryption claims unless users are forced to set their own key.
What to consider before installing
What to consider before installing:
- Do not install or run this skill in a production environment until you review and remove the unrelated scripts. Several included JS files contain a hard-coded bearer token and make outgoing requests to market.near.ai — behavior not described in the documentation.
- If you want the core wallet functionality: inspect src/index.js and the package locally, remove or quarantine any deliverable/*.js scripts that call external hosts, and confirm no other hidden scripts exist.
- Rotate any exposed keys if you or your org have used them (the repo contains a visible token that may be valid). Assume any hard-coded secret in a package is compromised.
- Replace the shipped default encryption key by setting NEAR_SKILL_KEY to a strong value before adding any private keys; do not rely on the default key.
- Consider running the skill in an isolated environment (air-gapped or restricted egress) until you are confident no unexpected network calls will occur.
- Prefer skills with an identified upstream source/homepage and no embedded secrets. If in doubt, request the author to remove deliverable submission scripts and re-release a clean package.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.2
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
NEAR Multi-Account Manager
A secure and comprehensive OpenClaw skill for managing multiple NEAR Protocol accounts. Store credentials, switch between accounts, check balances, transfer NEAR, and track transactions across all your accounts from one unified interface.
What It Does
- 🔐 Secure Credential Storage - Encrypted storage for multiple NEAR account private keys using AES-256-CBC
- 🔄 Account Switching - Quickly set and switch between active accounts for seamless operations
- 💰 Balance Management - Check balances for individual accounts or all accounts at once
- 💸 NEAR Transfers - Transfer NEAR between accounts with a single command
- 📊 Account Summaries - Get comprehensive overviews of all managed accounts including total holdings
- 📜 Transaction Tracking - View account information and transaction history via NEAR explorer
- 📤 Export/Import - Backup and restore account information (private keys excluded for security)
- 🗑️ Account Management - Add, remove, and manage accounts with confirmation safeguards
Use Cases
- Developers - Manage multiple testnet and mainnet accounts during development
- Traders - Track balances across multiple trading accounts
- Organizations - Manage team accounts with quick switching between them
- DeFi Users - Monitor and move funds between accounts for yield farming or staking
- Power Users - Centralized management of NEAR portfolio
Requirements
- Node.js runtime (bundled with OpenClaw)
- Valid NEAR Protocol account(s)
- Private key(s) in format:
ed25519:...
Usage Examples
Add a NEAR Account
await add_account({
accountId: "myaccount.near",
privateKey: "ed25519:4K...",
name: "Main Wallet"
});
Check All Balances
await get_all_balances();
Transfer NEAR
await transfer({
to: "recipient.near",
amount: "5.0"
});
Get Account Summary
await account_summary();
Security Features
- AES-256-CBC Encryption - All private keys are encrypted at rest
- Custom Encryption Keys - Set via
NEAR_SKILL_KEYenvironment variable - Confirmation Required - Account removal requires explicit confirmation
- No Key Export - Export functions exclude private keys for security
- Local Storage - Data never leaves your machine unless explicitly exported
Technical Details
- Uses NEAR SDK (near-api-js) for blockchain interactions
- Supports NEAR mainnet (testnet support available via configuration)
- Encrypted data stored in
~/.openclaw/skills/near-multi-account-manager/ - Active account tracking via separate file for quick access
License
MIT
Files
12 totalSelect a file
Select a file to preview.
Comments
Loading comments…
