{"_id":"@elizaos/plugin-solana-root","_rev":"4-8c073d97df244150ff474d872b855ddc","name":"@elizaos/plugin-solana-root","dist-tags":{"next":"2.0.0-alpha.1","latest":"2.0.0-alpha.1"},"versions":{"2.0.0-alpha.1":{"name":"@elizaos/plugin-solana-root","version":"2.0.0-alpha.1","keywords":[],"author":{"name":"elizaOS"},"license":"MIT","_id":"@elizaos/plugin-solana-root@2.0.0-alpha.1","maintainers":[{"name":"shawticus","email":"shawmakesmagic@gmail.com"},{"name":"shakkernerd","email":"shakkerdroid@gmail.com"},{"name":"wtfsayo","email":"hi@sayo.wtf"},{"name":"odilitime","email":"janesmith@airmail.cc"},{"name":"cjft","email":"cjft@trimboli.io"}],"homepage":"https://github.com/elizaos-plugins/plugin-solana#readme","bugs":{"url":"https://github.com/elizaos-plugins/plugin-solana/issues"},"dist":{"shasum":"f772b2fc63caf62863ad3c6b7b5d3b94549089f6","tarball":"https://registry.npmjs.org/@elizaos/plugin-solana-root/-/plugin-solana-root-2.0.0-alpha.1.tgz","fileCount":102,"integrity":"sha512-UkIfpCTQw+BPdLt2X8viOv6awO2apYtq5BJTsw4HULXoOyc+ZdNpurFt8fI54Zk8ZYdChWwSpXGYlWnKHXphPw==","signatures":[{"sig":"MEUCIQCZa20x5Fh2wQZ3jmZ+Cp7Z0h+FJP5QAZyNz8DJGO/tmgIgHPZ5UHi5/L6g5c432hooGSLS0xNkSjBsVteMDAGFTy8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":696203},"main":"typescript/dist/index.js","type":"module","types":"typescript/dist/index.d.ts","exports":{".":{"types":"./typescript/dist/index.d.ts","import":"./typescript/dist/index.js","default":"./typescript/dist/index.js"},"./rust":{"import":"./rust/pkg/node/elizaos_plugin_plugin_solana.js"},"./package.json":"./package.json"},"gitHead":"05d4ca11d769db8c7f54a722ee24b2ce2b951543","scripts":{"dev":"cd typescript && bun --hot build.ts","lint":"bunx @biomejs/biome check --write ./typescript","test":"bun run test:ts && bun run test:rust && bun run test:python","build":"npm run build:prompts && bun run build:ts && bun run build:rust && bun run build:python","clean":"rm -rf typescript/dist python/dist rust/target .turbo node_modules","test:ts":"cd typescript && vitest run || echo 'TypeScript tests skipped - no tests found'","build:ts":"cd typescript && bun run build.ts","lint:rust":"test -d rust && cd rust && cargo clippy --all-targets --fix --allow-dirty --allow-staged -- -D warnings && cargo fmt || echo 'Rust lint skipped'","test:rust":"test -d rust && cd rust && cargo test || echo 'Rust tests skipped'","typecheck":"tsc --noEmit -p typescript/tsconfig.json","build:rust":"test -d rust && cd rust && cargo build --release || echo 'Rust build skipped - no rust directory'","lint:check":"bunx @biomejs/biome check ./typescript","lint:python":"test -d python && cd python && ruff check --fix . && ruff format . || echo 'Python lint skipped'","test:python":"test -d python && cd python && pytest -p no:anchorpy --asyncio-mode=auto || echo 'Python tests skipped'","build:python":"test -d python && cd python && (python3 -m build 2>/dev/null || pyproject-build) || echo 'Python build skipped - no python directory'","build:prompts":"node ../../packages/prompts/scripts/generate-plugin-prompts.js ./prompts ./typescript/generated/prompts --target all","lint:python:fix":"test -d python && cd python && ruff check --fix . && ruff format . || echo 'Python lint fix skipped'"},"_npmUser":{"name":"shawticus","email":"shawmakesmagic@gmail.com"},"repository":{"url":"git+https://github.com/elizaos-plugins/plugin-solana.git","type":"git"},"_npmVersion":"lerna/9.0.3/node@v22.20.0+arm64 (darwin)","agentConfig":{"pluginType":"elizaos:plugin:1.0.0","pluginParameters":{"SLIPPAGE":{"type":"string","required":true,"sensitive":false,"description":"Maximum acceptable slippage (likely as a percentage or basis points) for Solana swaps/transactions."},"SOL_ADDRESS":{"type":"string","required":true,"sensitive":false,"description":"The mint/contract address used to represent native SOL when interacting with token swap logic."},"HELIUS_API_KEY":{"type":"string","required":true,"sensitive":true,"description":"API key for accessing the Helius Solana infrastructure services."},"SOLANA_RPC_URL":{"type":"string","default":"https://api.mainnet-beta.solana.com","required":false,"sensitive":false,"description":"The Solana RPC endpoint the application should connect to."},"BIRDEYE_API_KEY":{"type":"string","required":true,"sensitive":true,"description":"API key for accessing Birdeye market data services."},"SOLANA_PUBLIC_KEY":{"type":"string","required":false,"sensitive":false,"description":"Alternative name accepted by runtime for the wallet's public key."},"WALLET_PUBLIC_KEY":{"type":"string","required":false,"sensitive":false,"description":"Base58-encoded Solana wallet public key corresponding to WALLET_SECRET_KEY."},"WALLET_SECRET_KEY":{"type":"string","required":false,"sensitive":true,"description":"Base58-encoded Solana wallet secret (private) key; required if WALLET_SECRET_SALT is not supplied."},"SOLANA_PRIVATE_KEY":{"type":"string","required":false,"sensitive":true,"description":"The Solana wallet private key in base58 or base64 format, used to create a Keypair when private key access is required."},"WALLET_PRIVATE_KEY":{"type":"string","required":false,"sensitive":true,"description":"Alternative variable name for the Solana wallet private key in base58 or base64."},"WALLET_SECRET_SALT":{"type":"string","required":false,"sensitive":false,"description":"Salt used to derive or encrypt the Solana wallet's secret key; required if the direct secret key is not provided."}}},"description":"Core Solana blockchain plugin for Eliza OS that provides essential services and actions for token operations, trading, and DeFi integrations.","directories":{},"_nodeVersion":"22.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.5","typescript":"^5.9.3","@types/node":"^25.0.3","@biomejs/biome":"^2.3.11"},"peerDependencies":{"@elizaos/core":"2.0.0-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/plugin-solana-root_2.0.0-alpha.1_1769034099756_0.4292316662931124","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-01-21T22:21:39.575Z","modified":"2026-06-16T05:15:12.839Z","2.0.0-alpha.1":"2026-01-21T22:21:39.975Z"},"bugs":{"url":"https://github.com/elizaos-plugins/plugin-solana/issues"},"author":{"name":"elizaOS"},"license":"MIT","homepage":"https://github.com/elizaos-plugins/plugin-solana#readme","keywords":[],"repository":{"url":"git+https://github.com/elizaos-plugins/plugin-solana.git","type":"git"},"description":"Core Solana blockchain plugin for Eliza OS that provides essential services and actions for token operations, trading, and DeFi integrations.","maintainers":[{"email":"shawmakesmagic@gmail.com","name":"shawticus"},{"email":"janesmith@airmail.cc","name":"odilitime"}],"readme":"# @elizaos/plugin-solana\n\nCore Solana blockchain plugin for Eliza OS that provides essential services and actions for token operations, trading, and DeFi integrations.\n\n## Overview\n\nThe Solana plugin serves as a foundational component of Eliza OS, bridging Solana blockchain capabilities with the Eliza ecosystem. It provides crucial services for token operations, trading, portfolio management, and DeFi integrations, enabling both automated and user-directed interactions with the Solana blockchain.\n\n## Features\n\n### Token Operations\n\n- **Token Creation**: Deploy new tokens with customizable metadata\n- **Token Transfers**: Send and receive tokens securely\n- **Balance Management**: Track and manage token balances\n- **Portfolio Analytics**: Real-time portfolio valuation and tracking\n\n### Trading Operations\n\n- **Token Swaps**: Execute trades between tokens using Jupiter aggregator\n- **Order Management**: Place and track token orders\n- **Price Monitoring**: Real-time price feeds and historical data\n- **Automated Trading**: Configurable trading strategies and automation\n\n### DeFi Integration\n\n- **Liquidity Analysis**: Monitor and analyze pool liquidity\n- **Market Making**: Automated market making capabilities\n- **Yield Optimization**: Smart routing for optimal yields\n- **Risk Management**: Advanced risk scoring and monitoring\n\n### Trust & Security\n\n- **Trust Scoring**: Dynamic trust score calculation for tokens\n- **Risk Assessment**: Real-time risk evaluation for trades\n- **Performance Tracking**: Historical performance monitoring\n- **Simulation Mode**: Test strategies without real transactions\n\n## Security Features\n\n### Access Control\n\n- **Wallet Management**: Secure wallet key derivation and storage\n- **Permission Scoping**: Granular control over trading permissions\n- **TEE Integration**: Trusted Execution Environment support\n- **Key Protection**: Secure private key handling\n\n### Risk Management\n\n- **Trade Limits**: Configurable transaction limits\n- **Slippage Protection**: Automatic slippage controls\n- **Validation Checks**: Multi-level transaction validation\n- **Simulation Support**: Pre-execution transaction simulation\n\n## Installation\n\n```bash\nnpm install @elizaos/plugin-solana\n```\n\n## Configuration\n\nConfigure the plugin by setting the following environment variables:\n\n```typescript\nconst solanaEnvSchema = {\n  WALLET_SECRET_SALT: string(optional),\n  WALLET_SECRET_KEY: string,\n  WALLET_PUBLIC_KEY: string,\n  SOL_ADDRESS: string,\n  SLIPPAGE: string,\n  SOLANA_RPC_URL: string,\n  HELIUS_API_KEY: string,\n  BIRDEYE_API_KEY: string,\n};\n```\n\n## Usage\n\n### Basic Setup\n\n```typescript\nimport { solanaPlugin } from \"@elizaos/plugin-solana\";\n\n// Initialize the plugin\nconst runtime = await initializeRuntime({\n  plugins: [solanaPlugin],\n});\n```\n\n### Services\n\n#### TokenProvider\n\nManages token operations and information retrieval.\n\n```typescript\nconst tokenProvider = new TokenProvider(\n  tokenAddress,\n  walletProvider,\n  cacheManager,\n);\nawait tokenProvider.getTokensInWallet(runtime);\n```\n\n#### WalletProvider\n\nHandles wallet operations and portfolio management.\n\n```typescript\nconst walletProvider = new WalletProvider(connection, publicKey);\nawait walletProvider.getFormattedPortfolio(runtime);\n```\n\n#### TrustScoreProvider\n\nEvaluates and manages trust scores for tokens and trading activities.\n\n```typescript\nconst trustScore = await runtime.getProvider(\"trustScore\");\n```\n\n## Actions\n\n### executeSwap\n\nExecutes a token swap using Jupiter aggregator.\n\n```typescript\n// Example usage\nconst result = await runtime.executeAction(\"EXECUTE_SWAP\", {\n  inputTokenSymbol: \"SOL\",\n  outputTokenSymbol: \"USDC\",\n  amount: 0.1,\n});\n```\n\n### transferToken\n\nTransfers tokens between wallets.\n\n```typescript\n// Example usage\nconst result = await runtime.executeAction(\"SEND_TOKEN\", {\n  tokenAddress: \"TokenAddressHere\",\n  recipient: \"RecipientAddressHere\",\n  amount: \"1000\",\n});\n```\n\n### transferSol\n\nTransfers SOL between wallets.\n\n```typescript\n// Example usage\nconst result = await runtime.executeAction(\"SEND_SOL\", {\n  recipient: \"RecipientAddressHere\",\n  amount: \"1000\",\n});\n```\n\n### takeOrder\n\nPlaces a buy order based on conviction level.\n\n```typescript\n// Example usage\nconst result = await runtime.executeAction(\"TAKE_ORDER\", {\n  ticker: \"SOL\",\n  contractAddress: \"ContractAddressHere\",\n});\n```\n\n### pumpfun\n\nCreates and buys tokens on pump.fun.\n\n```typescript\n// Example usage\nconst result = await runtime.executeAction(\"CREATE_AND_BUY_TOKEN\", {\n  tokenMetadata: {\n    name: \"TokenName\",\n    symbol: \"SYMBOL\",\n    description: \"Token description\",\n    image_description: \"Image description\",\n  },\n  buyAmountSol: 0.1,\n});\n```\n\n### fomo\n\nCreates and buys tokens on fomo.fund.\n\n```typescript\n// Example usage\nconst result = await runtime.executeAction(\"CREATE_AND_BUY_TOKEN\", {\n  tokenMetadata: {\n    name: \"TokenName\",\n    symbol: \"SYMBOL\",\n    description: \"Token description\",\n    image_description: \"Image description\",\n  },\n  buyAmountSol: 0.1,\n  requiredLiquidity: 1000,\n});\n```\n\n### executeSwapForDAO\n\nExecutes token swaps for DAO operations.\n\n```typescript\n// Example usage\nconst result = await runtime.executeAction(\"EXECUTE_SWAP_DAO\", {\n  inputTokenSymbol: \"SOL\",\n  outputTokenSymbol: \"USDC\",\n  amount: 0.1,\n});\n```\n\n## Performance Optimization\n\n1. **Cache Management**\n   - Implement token data caching\n   - Configure cache TTL settings\n   - Monitor cache hit rates\n\n2. **RPC Optimization**\n   - Use connection pooling\n   - Implement request batching\n   - Monitor RPC usage\n\n3. **Transaction Management**\n   - Optimize transaction bundling\n   - Implement retry strategies\n   - Monitor transaction success rates\n\n## System Requirements\n\n- Node.js 16.x or higher\n- Solana CLI tools (optional)\n- Minimum 4GB RAM recommended\n- Stable internet connection\n- Access to Solana RPC endpoint\n\n## Troubleshooting\n\n### Common Issues\n\n1. **Wallet Connection Failures**\n\n```bash\nError: Failed to connect to wallet\n```\n\n- Verify RPC endpoint is accessible\n- Check wallet configuration settings\n- Ensure proper network selection\n\n2. **Transaction Errors**\n\n```bash\nError: Transaction simulation failed\n```\n\n- Check account balances\n- Verify transaction parameters\n- Ensure proper fee configuration\n\n3. **Price Feed Issues**\n\n```bash\nError: Unable to fetch price data\n```\n\n- Verify API key configuration\n- Check network connectivity\n- Ensure price feed service status\n\n## Safety & Security\n\n### Best Practices\n\n1. **Environment Variables**\n   - Store sensitive keys in environment variables\n   - Use .env.example for non-sensitive defaults\n   - Never commit real credentials to version control\n\n2. **Transaction Limits**\n   - Set maximum transaction amounts\n   - Implement daily trading limits\n   - Configure per-token restrictions\n\n3. **Monitoring**\n   - Track failed transaction attempts\n   - Monitor unusual trading patterns\n   - Log security-relevant events\n\n4. **Recovery**\n   - Implement transaction rollback mechanisms\n   - Maintain backup RPC endpoints\n   - Document recovery procedures\n\n## Performance Optimization\n\n1. **Cache Management**\n   - Implement token data caching\n   - Configure cache TTL settings\n   - Monitor cache hit rates\n\n2. **RPC Optimization**\n   - Use connection pooling\n   - Implement request batching\n   - Monitor RPC usage\n\n3. **Transaction Management**\n   - Optimize transaction bundling\n   - Implement retry strategies\n   - Monitor transaction success rates\n\n## Support\n\nFor issues and feature requests, please:\n\n1. Check the troubleshooting guide above\n2. Review existing GitHub issues\n3. Submit a new issue with:\n   - System information\n   - Error logs\n   - Steps to reproduce\n   - Transaction IDs (if applicable)\n\n## Contributing\n\nContributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.\n\n## Credits\n\nThis plugin integrates with and builds upon several key technologies:\n\n- [Solana](https://solana.com/) - The core blockchain platform\n- [Solana Web3.js](https://github.com/solana-labs/solana-web3.js) - Core Solana interactions\n- [SPL Token](https://spl.solana.com/) - Token program interactions\n- [Jupiter](https://jup.ag/) - Token swap aggregation\n- [Birdeye](https://birdeye.so/) - Price feeds and analytics\n- [Helius](https://helius.xyz/) - Enhanced RPC services\n- [Anchor](https://project-serum.github.io/anchor/) - Smart contract framework\n- [FOMO](https://fomo.fund/) - Token creation and trading\n- [Pump.fun](https://pump.fun/) - Token creation and trading\n\nSpecial thanks to:\n\n- The Solana ecosystem and all the open-source contributors who make these integrations possible.\n- The Eliza community for their contributions and feedback.\n\nFor more information about Solana blockchain capabilities:\n\n- [Solana Documentation](https://docs.solana.com/)\n- [Solana Developer Portal](https://solana.com/developers)\n- [Solana Network Dashboard](https://solscan.io/)\n- [Solana GitHub Repository](https://github.com/solana-labs/solana)\n\n## License\n\nThis plugin is part of the Eliza project. See the main project repository for license information.\n","readmeFilename":"README.md"}