|
1 | 1 | # Evalanche |
2 | 2 |
|
3 | | -**Multi-EVM agent wallet SDK with onchain identity (ERC-8004), full agent identity resolution, payment rails (x402), cross-chain liquidity (Li.Fi bridging + DEX aggregation + DeFi Composer), gas funding (Gas.zip), market intelligence (CoinGecko), prediction markets (Polymarket CLOB), agent economy primitives, DeFi operations, and perpetual futures (dYdX v4)** |
| 3 | +**Multi-EVM agent wallet SDK with onchain identity (ERC-8004), unified wallet holdings discovery, full agent identity resolution, payment rails (x402), cross-chain liquidity (Li.Fi bridging + DEX aggregation + DeFi Composer), gas funding (Gas.zip), market intelligence (CoinGecko), prediction markets (Polymarket CLOB), agent economy primitives, DeFi operations, and perpetual futures (dYdX v4 + Hyperliquid)** |
4 | 4 |
|
5 | | -Evalanche gives AI agents a **non-custodial** wallet on **any EVM chain** — Ethereum, Base, Arbitrum, Optimism, Polygon, BSC, Avalanche, and 15+ more — with built-in onchain identity, ERC-8004 full registration resolution, payment capabilities, cross-chain bridging, same-chain DEX swaps (31+ aggregators), CoinGecko market data, Polymarket market discovery and execution, agent economy primitives (discovery, negotiation, settlement, escrow, memory), DeFi operations, and perpetual futures on dYdX. No browser, no popups, no human in the loop. |
| 5 | +Evalanche gives AI agents a **non-custodial** wallet on **any EVM chain** — Ethereum, Base, Arbitrum, Optimism, Polygon, BSC, Avalanche, and 15+ more — with built-in onchain identity, ERC-8004 full registration resolution, payment capabilities, unified holdings scanning, cross-chain bridging, same-chain DEX swaps (31+ aggregators), CoinGecko market data, Polymarket market discovery and execution, agent economy primitives (discovery, negotiation, settlement, escrow, memory), DeFi operations, and perpetual futures on dYdX + Hyperliquid. No browser, no popups, no human in the loop. |
6 | 6 |
|
7 | 7 | ## Install |
8 | 8 |
|
@@ -383,6 +383,45 @@ await baseVaults.deposit(YOUSD, '1000'); // approve + deposit in one call |
383 | 383 | await baseVaults.withdraw(YOUSD, '998.1'); // redeem shares |
384 | 384 | ``` |
385 | 385 |
|
| 386 | +### Unified Holdings (universal registry + scanner) |
| 387 | + |
| 388 | +Evalanche now ships a universal in-repo holdings registry and a one-pass holdings scanner. The scanner combines: |
| 389 | + |
| 390 | +- native balances across supported chains |
| 391 | +- seeded ERC-20 balances |
| 392 | +- DeFi positions such as ERC-4626 vaults and liquid staking receipts |
| 393 | +- Polymarket positions |
| 394 | +- perp venue positions on Hyperliquid and dYdX |
| 395 | + |
| 396 | +```typescript |
| 397 | +const agent = new Evalanche({ privateKey: '0x...', network: 'base' }); |
| 398 | + |
| 399 | +const portfolio = await agent.holdings().scan(); |
| 400 | + |
| 401 | +console.log(portfolio.summary); |
| 402 | +// → { totalHoldings, byType, byChain, byProtocol } |
| 403 | + |
| 404 | +const filtered = await agent.holdings().scan({ |
| 405 | + chains: ['polygon', 'base', 'avalanche', 'hyperliquid'], |
| 406 | + include: ['native', 'token', 'defi', 'prediction', 'perp'], |
| 407 | + protocols: ['polymarket', 'avantis', 'yousd'], |
| 408 | +}); |
| 409 | + |
| 410 | +console.log(filtered.holdings[0]); |
| 411 | +// → { |
| 412 | +// holdingType: 'vault' | 'token' | 'prediction' | 'perp' | ..., |
| 413 | +// protocolId: 'yousd-vault', |
| 414 | +// protocolName: 'yoUSD Vault', |
| 415 | +// chain: 'base', |
| 416 | +// symbol: 'yoUSD', |
| 417 | +// displayBalance: '24.917987', |
| 418 | +// underlyingValue: '26.771162', |
| 419 | +// ... |
| 420 | +// } |
| 421 | +``` |
| 422 | + |
| 423 | +The universal registry is checked into the repo and shared by every agent. It is seeded with local canonical records, a vendored AvaPilot Avalanche snapshot, and DefiLlama import tooling. Runtime holdings truth still comes from live onchain reads and venue APIs. |
| 424 | + |
386 | 425 | ### Prediction Markets: Polymarket (v1.5.0+) |
387 | 426 |
|
388 | 427 | Polymarket support is exposed in two ways: |
@@ -644,6 +683,9 @@ AGENT_PRIVATE_KEY=0x... evalanche-mcp --http --port 3402 |
644 | 683 | |------|-------------| |
645 | 684 | | `get_address` | Get agent wallet address | |
646 | 685 | | `get_balance` | Get native token balance | |
| 686 | +| `get_holdings` | Unified wallet holdings scan across tokens, DeFi, predictions, and perps | |
| 687 | +| `search_registry` | Search the universal in-repo holdings registry | |
| 688 | +| `registry_status` | Get universal registry counts and detector coverage | |
647 | 689 | | `send_avax` | Send native tokens | |
648 | 690 | | `call_contract` | Call a contract method | |
649 | 691 | | `sign_message` | Sign a message | |
@@ -893,7 +935,13 @@ For live operator validation, use the runbook in [docs/live-smoke-checklist.md]( |
893 | 935 | - market search, market details, order book access, balance and position discovery |
894 | 936 | - expanded Evalanche into prediction market workflows alongside DeFi + perps |
895 | 937 |
|
896 | | -### v1.8.6 (current) |
| 938 | +### v1.8.8 (current) |
| 939 | +- **Universal holdings + live verification** |
| 940 | +- unified holdings scanning now combines native balances, seeded ERC-20s, DeFi positions, Polymarket positions, and perp venue positions behind `agent.holdings().scan()` and the MCP `get_holdings` tool |
| 941 | +- the in-repo universal registry now seeds both DeFi routing and holdings discovery, with local canonical records taking precedence over AvaPilot and DefiLlama-enriched metadata |
| 942 | +- npm-facing documentation now reflects the current package surface instead of the older DeFi-routing-only model |
| 943 | + |
| 944 | +### v1.8.6 |
897 | 945 | - **Report-closure remediation** |
898 | 946 | - DeFi MCP tools now resolve known protocols to canonical chains, support interoperable address inputs, and fail clearly on explicit wrong-chain requests |
899 | 947 | - Avalanche dapp resolution is enriched by a vendored AvaPilot-backed registry provider without introducing runtime GitHub/network dependency |
|
0 commit comments