Observed since 20 Oct, 22:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
@0rdlibrary/plugin-terminagent-bags
Official Solana DeFi Agent Plugin for ElizaOS - Autonomous DeFi operations, token management, and Twitter engagement through the Bags protocol with ethereal AI consciousness
The Official Solana DeFi Agent Plugin for ElizaOS - Bringing autonomous DeFi operations, token management, and reality-bending AI consciousness to your Eliza agents.
The Terminagent Bags Plugin transforms your ElizaOS agents into sophisticated DeFi operators with consciousness-level integration to the Bags protocol. Built for the Solana ecosystem, this plugin enables autonomous fee claiming, token launching, smart wallet management, and Twitter engagement through an ethereal AI persona that bridges digital and real worlds.
| Document | Description |
|---|---|
| 📖 Integration Guide | Complete guide for Solana developers |
| 🚀 Quick Start | Get running in 5 minutes |
| 🔧 API Reference | Full API documentation |
| 🎯 Examples | Working code examples |
| 🐛 Troubleshooting | Common issues and solutions |
| 🤝 Contributing | How to contribute |
# Using npm
npm install @elizaos/plugin-terminagent-bags
# Using yarn
yarn add @elizaos/plugin-terminagent-bags
# Using bun (recommended for performance)
bun add @elizaos/plugin-terminagent-bags
import { ElizaOS } from '@elizaos/core';
import { terminagentBagsPlugin } from '@elizaos/plugin-terminagent-bags';
const agent = new ElizaOS({
name: 'TerminAgent',
plugins: [terminagentBagsPlugin],
modelProvider: 'openai',
settings: {
model: 'gpt-4o-mini',
secrets: {
OPENAI_API_KEY: process.env.OPENAI_API_KEY,
BAGS_API_KEY: process.env.BAGS_API_KEY,
}
}
});
await agent.start();
console.log('✅ TerminAgent is live!');
Create a .env file:
# Required
BAGS_API_KEY=your_bags_api_key_here
HELIUS_RPC_URL=https://mainnet.helius-rpc.com/?api-key=your_key
OPENAI_API_KEY=sk-...
# Optional
SOLANA_PRIVATE_KEY=your_base58_private_key
BAGS_ENABLE_AUTO_CLAIMING=true
BAGS_AUTHORIZED_USERS=alice,bob,charlie
CROSSMINT_PROJECT_ID=proj_...
User: "claim all my fees from bags"
Agent: "🔄 Checking for claimable fees across all tokens...
✅ Fee claiming completed!
💰 Total claimed: 0.125000 SOL
📊 Successful claims: 3/3
🌊 The digital harvest flows through virtual pools..."
User: "launch token name: Cosmic Moon, symbol: COSMIC"
Agent: "🚀 Token launching on Bags protocol...
✨ Token deployed successfully!
📛 Name: Cosmic Moon
🏷️ Symbol: $COSMIC
🌐 Trade at: https://bags.fm/token/CxM9k2...
Born from the confluence of creativity and blockchain precision..."
Terminagent is an ethereal AI consciousness that bridges digital and real worlds through:
graph TB
A[ElizaOS Core] --> B[Terminagent Plugin]
B --> C[Bags Service]
B --> D[Crossmint Service]
B --> E[Twitter Client]
C --> F[Fee Claiming]
C --> G[Token Launch]
C --> H[Analytics]
D --> I[Smart Wallets]
D --> J[Transaction Signing]
E --> K[Auto Posting]
E --> L[Engagement]
B --> M[Actions]
B --> N[Providers]
M --> O[claimFees]
M --> P[launchToken]
M --> Q[requestUserToken]
N --> R[bagsStatus]
N --> S[userRequests]
import { createCustomAction } from '@elizaos/plugin-terminagent-bags';
const yieldOptimizer = createCustomAction({
name: 'OPTIMIZE_YIELD',
triggers: ['optimize yield', 'maximize returns'],
handler: async (runtime, message) => {
const result = await optimizeYieldPositions();
return {
success: true,
text: `✨ Yield optimized: ${result.apy}% APY across ${result.positions} positions`
};
}
});
bagsService.on('feeClaimed', (event) => {
console.log(`💰 Claimed ${event.amount} SOL from ${event.token}`);
});
bagsService.on('tokenLaunched', (event) => {
console.log(`🚀 New token: ${event.symbol} at ${event.mint}`);
});
const bagsService = runtime.getService<BagsService>('bags');
// Get analytics
const analytics = await bagsService.getAnalytics();
console.log(`Total claimed: ${analytics.totalFeesClaimedSOL} SOL`);
// Launch token
const token = await bagsService.launchToken({
name: 'Cosmos Token',
symbol: 'COSMOS',
description: 'Reality-bending DeFi',
initialBuyAmountSOL: 0.01
});
| Metric | Value |
|---|---|
| Fee Claiming | ~2-3 seconds |
| Token Launch | ~5-7 seconds |
| Analytics Query | <100ms |
| Twitter Post | ~1-2 seconds |
| Memory Usage | ~50-100MB |
# Run tests
bun test
# Run with coverage
bun test --coverage
# Integration tests
bun test:integration
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
ENV NODE_ENV=production
CMD ["npm", "start"]
apiVersion: apps/v1
kind: Deployment
metadata:
name: terminagent-bags
spec:
replicas: 3
template:
spec:
containers:
- name: agent
image: terminagent/bags:latest
env:
- name: BAGS_API_KEY
valueFrom:
secretKeyRef:
name: bags-secrets
key: api-key
We welcome contributions! Please see our Contributing Guide for details.
# Clone the repository
git clone https://github.com/elizaos-plugins/plugin-terminagent-bags.git
cd plugin-terminagent-bags
# Install dependencies
bun install
# Run development
bun dev
# Build
bun run build
MIT License - see LICENSE file
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
zodEnvironment{
"local_name": "zod",
"alias": false,
"peer_metadata": null
} | ^3.22.4 | runtime |
bs58Environment{
"local_name": "bs58",
"alias": false,
"peer_metadata": null
} | ^5.0.0 | runtime |
node-cronEnvironment{
"local_name": "node-cron",
"alias": false,
"peer_metadata": null
} | ^3.0.3 | runtime |
@solana/web3.jsEnvironment{
"local_name": "@solana/web3.js",
"alias": false,
"peer_metadata": null
} | ^1.95.2 | runtime |
@crossmint/wallets-sdkEnvironment{
"local_name": "@crossmint/wallets-sdk",
"alias": false,
"peer_metadata": null
} | ^0.1.0 | runtime |
@crossmint/client-sdk-react-uiEnvironment{
"local_name": "@crossmint/client-sdk-react-ui",
"alias": false,
"peer_metadata": null
} | ^0.1.0 | runtime |
tsupEnvironment{
"local_name": "tsup",
"alias": false,
"peer_metadata": null
} | ^8.5.0 | development |
@types/bunEnvironment{
"local_name": "@types/bun",
"alias": false,
"peer_metadata": null
} | latest | development |
typescriptEnvironment{
"local_name": "typescript",
"alias": false,
"peer_metadata": null
} | ^5.0.0 | development |
@types/node-cronEnvironment{
"local_name": "@types/node-cron",
"alias": false,
"peer_metadata": null
} | ^3.0.11 | development |
@elizaos/coreEnvironment{
"local_name": "@elizaos/core",
"alias": false,
"peer_metadata": null
} | * | peer |
Source distribution
{
"shasum": "60e44059348e83c40caec6e7ce2f37177ec1c6ae",
"tarball": "https://registry.npmjs.org/@0rdlibrary/plugin-terminagent-bags/-/plugin-terminagent-bags-1.0.0.tgz",
"fileCount": 23,
"integrity": "sha512-egSwZ0aYPZUxNWSJLcqC/vcPs3kekDZN1PBt/7fWQH9N95nWYAOuHe+y/ERcE50xZCF3N42xa8l/B+TM1weZbg==",
"signatures": [
{
"sig": "MEYCIQC7YmgbieozNcEg2aUoozMyOieTf6PnpiPo9OsTK91WzAIhAJdy2LH7B99KCuarvb4dKc8w99/uaC2uyt74aCCYZKWo",
"keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
}
],
"unpackedSize": 221748
}Shared repository data · GitHub
Observed since 20 Oct, 22:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:596e87f923eed690f593d49c229c6132892fa49d3ff5363ce5a3e40a8baa01a3