{"_id":"@arcisprotocol/eliza-plugin-arcis","name":"@arcisprotocol/eliza-plugin-arcis","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@arcisprotocol/eliza-plugin-arcis","version":"1.0.0","description":"ElizaOS plugin — give any agent a treasury. Idle USDC auto-earns yield in the Arcis vault on Base.","type":"module","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsup src/index.ts --format esm --dts --clean","demo":"tsx demo.ts"},"keywords":["elizaos","eliza-plugin","arcis","defi","agent","yield","base","usdc"],"peerDependencies":{"@elizaos/core":">=1.0.0"},"dependencies":{"@arcisprotocol/sdk":"^1.0.0","viem":"^2.21.0"},"devDependencies":{"tsup":"^8.0.0","tsx":"^4.7.0","typescript":"^5.4.0","@elizaos/core":"^1.7.2"},"license":"MIT","homepage":"https://github.com/Arcis-Protocol/integrations/tree/main/typescript/eliza-plugin-arcis#readme","repository":{"type":"git","url":"git+https://github.com/Arcis-Protocol/integrations.git","directory":"typescript/eliza-plugin-arcis"},"bugs":{"url":"https://github.com/Arcis-Protocol/integrations/issues"},"_id":"@arcisprotocol/eliza-plugin-arcis@1.0.0","gitHead":"337f72d40442f9ae0f7cccdb1b17bc260163a7a2","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-mDc3Ho9+4PxCEM3RvXVrnRz0OOOz179gzNTnv8CRIu4WvWyY8bC4ZI+IhRnXx2zyxHrM9LkMlbqFFn0itnfZ3A==","shasum":"71e760e0df9f0679ad857e68d3dc265ee7d915f4","tarball":"https://registry.npmjs.org/@arcisprotocol/eliza-plugin-arcis/-/eliza-plugin-arcis-1.0.0.tgz","fileCount":4,"unpackedSize":13066,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCrTFqRi/BrqBKP+tXBv/zFM8fQ+egu8phbjMM5xI6QogIgcd8+IS/F6nULc/hUsjR+aDoAN/W1dO61QagqgoTEKmA="}]},"_npmUser":{"name":"brandononchain","email":"brandononchain@gmail.com"},"directories":{},"maintainers":[{"name":"brandononchain","email":"brandononchain@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eliza-plugin-arcis_1.0.0_1783107655326_0.6747545662837728"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-03T19:40:55.166Z","1.0.0":"2026-07-03T19:40:55.466Z","modified":"2026-07-03T19:40:55.682Z"},"maintainers":[{"name":"brandononchain","email":"brandononchain@gmail.com"}],"description":"ElizaOS plugin — give any agent a treasury. Idle USDC auto-earns yield in the Arcis vault on Base.","homepage":"https://github.com/Arcis-Protocol/integrations/tree/main/typescript/eliza-plugin-arcis#readme","keywords":["elizaos","eliza-plugin","arcis","defi","agent","yield","base","usdc"],"repository":{"type":"git","url":"git+https://github.com/Arcis-Protocol/integrations.git","directory":"typescript/eliza-plugin-arcis"},"bugs":{"url":"https://github.com/Arcis-Protocol/integrations/issues"},"license":"MIT","readme":"# @arcisprotocol/eliza-plugin-arcis\n\n> **Compatibility:** targets `@elizaos/core` 1.x (declared as a peer dependency).\n\n\nGive any ElizaOS agent a treasury. Idle USDC auto-earns a variable APY in the [Arcis](https://arcis.money) vault on Base, and is auto-withdrawn when the agent needs to spend.\n\nYour agent earns yield between jobs without you writing a line of DeFi code.\n\n## What it does\n\n- **Always-on idle capital management** — a background service watches the agent's USDC balance, deposits the excess above a reserve floor, and pulls funds back when the balance runs low. Zero prompting required.\n- **Three conversational actions** the agent can also trigger on demand:\n  - `DEPOSIT_IDLE` — \"put my idle USDC to work\"\n  - `WITHDRAW_FUNDS` — \"I need $50 for a payment\"\n  - `CHECK_TREASURY` — \"how much yield am I earning?\"\n\nUnder the hood it uses [`@arcisprotocol/sdk`](https://www.npmjs.com/package/@arcisprotocol/sdk). Every deposit and withdrawal is an on-chain transaction verifiable on Basescan.\n\n## Install\n\n```bash\nnpm install @arcisprotocol/eliza-plugin-arcis @arcisprotocol/sdk\n```\n\n## Configure\n\nAdd the plugin to your character and set these agent settings:\n\n```json\n{\n  \"name\": \"MyAgent\",\n  \"plugins\": [\"@arcisprotocol/eliza-plugin-arcis\"],\n  \"settings\": {\n    \"ARCIS_AGENT_PRIVATE_KEY\": \"0x...\",\n    \"BASE_RPC_URL\": \"https://base-mainnet.g.alchemy.com/v2/YOUR_KEY\",\n    \"ARCIS_DEPOSIT_THRESHOLD\": \"100\",\n    \"ARCIS_RESERVE_MIN\": \"20\",\n    \"ARCIS_WITHDRAW_TRIGGER\": \"5\",\n    \"ARCIS_WITHDRAW_AMOUNT\": \"25\"\n  }\n}\n```\n\n| Setting | Meaning | Default |\n|---|---|---|\n| `ARCIS_AGENT_PRIVATE_KEY` | Agent wallet key (funded with USDC + a little ETH for gas) | required |\n| `BASE_RPC_URL` | Base RPC endpoint | public RPC |\n| `ARCIS_DEPOSIT_THRESHOLD` | Deposit idle USDC above this ($) | 100 |\n| `ARCIS_RESERVE_MIN` | Keep this much liquid for spending ($) | 20 |\n| `ARCIS_WITHDRAW_TRIGGER` | Withdraw when wallet drops below this ($) | 5 |\n| `ARCIS_WITHDRAW_AMOUNT` | Amount to pull per withdrawal ($) | 25 |\n\n## Use it in code\n\n```ts\nimport { arcisPlugin } from \"@arcisprotocol/eliza-plugin-arcis\";\n\nconst runtime = new AgentRuntime({\n  character,\n  plugins: [arcisPlugin],\n  // ...\n});\n```\n\nOnce running, the treasury service starts automatically. The agent's idle USDC begins compounding, and the three actions are available in conversation.\n\n## Try it without ElizaOS\n\nA standalone demo shows the exact loop the plugin runs:\n\n```bash\nAGENT_KEY=0xYourKey BASE_RPC_URL=https://... npx tsx demo.ts\n```\n\nIt prints your wallet + vault position and starts the idle-capital manager.\n\n## How the treasury works\n\n```\nAgent earns USDC (jobs, x402 payments, tips)\n   ↓  balance climbs past ARCIS_DEPOSIT_THRESHOLD\nPlugin deposits the excess → receives raUSDC shares → earns a variable APY (Aave V3)\n   ↓  agent needs to spend, balance drops below ARCIS_WITHDRAW_TRIGGER\nPlugin withdraws ARCIS_WITHDRAW_AMOUNT → USDC back in wallet, ready to pay\n```\n\nThe vault keeps 30% liquid reserve for instant withdrawals and deploys 70% to Aave V3. A 0.1% fee applies only to withdrawals within 24h of deposit (flash-loan guard).\n\n## Contracts (Base mainnet)\n\n- Vault: `0x00325d9da832b38179ed2f0dabd4062d93e325a7`\n- USDC: `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`\n\n## Links\n\n- Website: https://arcis.money\n- Dashboard: https://arcis.money/dashboard\n- SDK: https://www.npmjs.com/package/@arcisprotocol/sdk\n- Docs: https://github.com/Arcis-Protocol/docs\n\n---\n\n*MIT · Built on the Agent Treasury Interface — deposit(), withdraw(), balance().*\n","readmeFilename":"README.md","_rev":"1-b4b925de6cda49e48ce8fc436badda2f"}