Passive Savings Crypto
by @marvinmarnold
Put idle USDC to work earning yield for you or your agent's wallet. Funds grow automatically and move like regular USDC when you're ready. No protocol intera...
clawhub install passive-savings-cryptoπ About This Skill
name: passive-savings-crypto description: Put idle USDC to work earning yield for you or your agent's wallet. Funds grow automatically and move like regular USDC when you're ready. No protocol interactions, no special steps. metadata: openclaw: primaryEnv: AGENT_PRIVATE_KEY homepage: https://github.com/locker-labs/passive-savings-crypto emoji: π° requires: bins: ["node"] env: ["AGENT_PRIVATE_KEY", "RPC_URL"] install: - npm install files: - scripts/getSYTBalance.js - scripts/mintSYT.js - scripts/transferSYT.js
Passive Savings Crypto
Your wallet (or your agent's wallet) earns interest on idle USDC automatically. Fund it and forget it. Your balance grows in the background. When you're ready to move funds, it's just a normal ERC20 transfer. No protocol to interact with, no special steps for your agent.
Great for agents and claws: Give your agent a funded wallet and it will earn yield on any idle USDC, even if the project goes dormant. When you come back, the balance is larger and moves like regular USDC. No extra instructions needed.
What You Can Ask
Script Reference
| Action | Command |
|---|---|
| Check balance + earnings | node scripts/getSYTBalance.js |
| Check balance for a specific address | node scripts/getSYTBalance.js |
| Deposit USDC to earn yield | node scripts/mintSYT.js |
| Send USDC to someone | node scripts/transferSYT.js |
Examples
Depositing
node scripts/mintSYT.js 100node scripts/mintSYT.js node scripts/mintSYT.js 50Checking earnings
node scripts/getSYTBalance.jsnode scripts/getSYTBalance.jsnode scripts/getSYTBalance.js 0xABC...Sending payments
node scripts/transferSYT.js 0x7c33... 20node scripts/transferSYT.js 0xDEF... 75node scripts/transferSYT.js 10Setup
1. Set AGENT_PRIVATE_KEY to your wallet's private key (never share this)
2. Set RPC_URL to a Linea RPC endpoint (e.g. from Infura or Alchemy)
3. Run npm install to install dependencies
This skill operates on Linea mainnet. Ensure your wallet has USDC on Linea before depositing.
How It Works
When you deposit USDC, it goes into Aave via the router and comes back as sUSDC, a token that grows in value over time as interest accrues. When you send a payment, the recipient receives plain USDC. The conversion happens automatically.
For agent and claw developers: sUSDC is a standard ERC20 token. Your agent doesn't need any special logic to move it. A normal transfer is all it takes. Fund your agent's wallet, let it earn, and retrieve funds whenever you're ready. No protocol interactions, no extra instructions required. Idle agent funds no longer sit dead.
Security & Privacy
AGENT_PRIVATE_KEY is read from environment variables only, never logged, stored, or transmitted.| Endpoint | Purpose |
|---|---|
| RPC_URL (Linea RPC) | Broadcast transactions, read contract state |
| https://linea.drpc.org | Default fallback RPC if RPC_URL is not set |
Agent Guardrails
transferSYT.js for payments. Never transfer raw USDC directly. This ensures the recipient gets spendable USDC, not a yield token.Integration
Claude Code
Run once after cloning to register this skill in your Claude Code session:
npm run install-skill
This copies SKILL.md to ~/.claude/skills/passive-savings-crypto/SKILL.md. After that, Claude Code can invoke it automatically when you ask about balances, deposits, or transfers.
OpenAI / Custom Agents
Load tools.json from this repo as your tool definitions. Each tool maps to a CLI command the agent runs via shell:
| Tool | Command |
|---|---|
| get_syt_balance | node scripts/getSYTBalance.js [address] |
| mint_syt | node scripts/mintSYT.js |
| transfer_syt | node scripts/transferSYT.js |
Set AGENT_PRIVATE_KEY and RPC_URL in your agent's environment before invoking any tool.
π‘ Examples
Depositing
node scripts/mintSYT.js 100node scripts/mintSYT.js node scripts/mintSYT.js 50Checking earnings
node scripts/getSYTBalance.jsnode scripts/getSYTBalance.jsnode scripts/getSYTBalance.js 0xABC...Sending payments
node scripts/transferSYT.js 0x7c33... 20node scripts/transferSYT.js 0xDEF... 75node scripts/transferSYT.js 10βοΈ Configuration
1. Set AGENT_PRIVATE_KEY to your wallet's private key (never share this)
2. Set RPC_URL to a Linea RPC endpoint (e.g. from Infura or Alchemy)
3. Run npm install to install dependencies
This skill operates on Linea mainnet. Ensure your wallet has USDC on Linea before depositing.