Gekko Yield — Earn safe yield on USDC
Earn yield on USDC via the Moonwell Flagship USDC vault on Base.
Vault: 0xc1256Ae5FF1cf2719D4937adb3bbCCab2E00A2Ca
Chain: Base (8453)
Asset: USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)
Why This Vault?
The Moonwell Flagship USDC vault is one of the safest places to earn yield on Base:
Powers Coinbase — Provides $20M+ liquidity to Coinbase's BTC/ETH borrow products
Blue-chip collateral only — Loans backed by ETH, cbETH, wstETH, cbBTC
Conservative LTV ratios — Healthy collateral requirements
Isolated markets — Risk is compartmentalized
Battle-tested — Morpho's codebase is <650 lines, immutable, extensively audited
Multi-layer governance — Moonwell DAO + Block Analitica/B.Protocol curators
Current APY (~4-6%)
| Component | APY | Source |
|---|---|---|
| Base yield | ~4-5% | Borrower interest |
| Rewards | ~0.5-1% | WELL + MORPHO via Merkl |
| Total | ~4.5-6% | Sustainable, from real demand |
Yields come from real borrowing demand, not unsustainable emissions.
Quick Start
cd gekko-yield/scripts
pnpm install # or npm install
npx tsx setup.ts
The setup wizard will:
Guide you to set your private key as environment variable
Save configuration to
~/.config/gekko-yield/config.json
Commands
Interactive Setup
npx tsx setup.ts
Guides you through wallet configuration.
Check Position & APY
npx tsx status.ts
Returns: current deposit, vault shares, APY, wallet balances, estimated earnings.
Generate Report
# Telegram/Discord format (default)
npx tsx report.ts
# JSON format (for automation)
npx tsx report.ts --json
# Plain text
npx tsx report.ts --plain
Deposit USDC
npx tsx deposit.ts <amount>
# Example: deposit 100 USDC
npx tsx deposit.ts 100
Deposits USDC into the Moonwell vault. Handles approval automatically.
Withdraw
# Withdraw specific amount of USDC
npx tsx withdraw.ts <amount>
# Withdraw all (redeem all shares)
npx tsx withdraw.ts all
Auto-Compound
npx tsx compound.ts
All-in-one command that:
Checks wallet for reward tokens (WELL, MORPHO)
Swaps them to USDC via Odos aggregator
Deposits the USDC back into the vault
Configuration
Config location: ~/.config/gekko-yield/config.json
{
"wallet": {
"source": "env",
"envVar": "PRIVATE_KEY"
},
"rpc": "https://mainnet.base.org"
}
Security
⚠️ This skill manages real funds. Review carefully:
Private keys loaded at runtime from environment variable
Keys never logged or written to disk by scripts
All transactions simulated before execution
Contract addresses verified on each run
Scripts show transaction preview before sending
Recommended Setup
Dedicated wallet — Create a hot wallet just for this skill
Limited funds — Only deposit what you're comfortable having in a hot wallet
Keep gas funded — Maintain small ETH balance on Base for transactions
Error Handling
| Error | Cause | Fix |
|---|---|---|
| Insufficient USDC | Not enough USDC in wallet | Bridge/transfer more USDC to Base |
| Insufficient gas | Not enough ETH for tx | Add ETH to wallet on Base |
| Wallet not configured | Missing config | Run npx tsx setup.ts |
| PRIVATE_KEY not set | Missing env var | Set $env:PRIVATE_KEY="your-key" |
Dependencies
Scripts require Node.js 18+. Install deps before first run:
cd scripts && pnpm install
Packages used:
viem— Ethereum interactiontsx— TypeScript execution
Built by Gekko AI. Powered by ERC-8004.