Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Multi-EVM agent wallet SDK with onchain identity (ERC-8004), payment rails (x402), cross-chain bridging (Li.Fi), and destination gas funding (Gas.zip). Suppo...
Multi-EVM agent wallet SDK with onchain identity (ERC-8004), payment rails (x402), cross-chain bridging (Li.Fi), and destination gas funding (Gas.zip). Suppo...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Headless wallet SDK with ERC-8004 identity, x402 payments, Li.Fi cross-chain liquidity (bridging + DEX aggregation + DeFi Composer), Gas.zip gas funding, dYdX v4 perpetuals, contract interaction helpers (approve-and-call + UUPS upgrade), and DeFi operations (liquid staking + EIP-4626 vaults). Works on 21+ EVM chains. 83 MCP tools. Works as CLI or MCP server. Source: https://github.com/iJaack/evalanche License: MIT
Ethereum, Base, Arbitrum, Optimism, Polygon, BSC, Avalanche, Fantom, Gnosis, zkSync Era, Linea, Scroll, Blast, Mantle, Celo, Moonbeam, Cronos, Berachain, + testnets (Fuji, Sepolia, Base Sepolia). Routescan RPCs preferred where available, with public fallback RPCs.
Evalanche.boot() manages keys autonomously with encrypted-at-rest storage: First run: Generates a BIP-39 mnemonic via ethers.HDNodeWallet.createRandom() Encryption: AES-128-CTR + scrypt KDF (geth-compatible keystore format) Password derivation: 32-byte random entropy file via crypto.randomBytes(32) File permissions: chmod 0o600 (owner read/write only) Storage location: ~/.evalanche/keys/ by default
Stdio mode (default): stdin/stdout only. No network exposure. HTTP mode (--http): localhost:3402. Do not expose publicly without auth.
Priority: OpenClaw secrets β raw env vars β encrypted keystore.
npm install -g evalanche
import { Evalanche } from 'evalanche'; // Base const { agent } = await Evalanche.boot({ network: 'base' }); // Ethereum const { agent: eth } = await Evalanche.boot({ network: 'ethereum' }); // Arbitrum const { agent: arb } = await Avalanche.boot({ network: 'arbitrum' }); // Avalanche (with identity) const { agent: avax } = await Evalanche.boot({ network: 'avalanche', identity: { agentId: '1599' }, });
AVALANCHE_NETWORK=base evalanche-mcp
ToolDescriptionget_addressGet agent wallet addressget_balanceGet native token balancesign_messageSign arbitrary messagesend_avaxSend native tokenscall_contractCall a contract method
ToolDescriptionresolve_identityResolve agent identity + reputationresolve_agentLook up any agent by ID
ToolDescriptionpay_and_fetchx402 payment-gated HTTP request
ToolDescriptionsubmit_feedbackSubmit on-chain reputation feedback
ToolDescriptionget_networkGet current network configget_supported_chainsList all 21+ supported chainsget_chain_infoGet details for a specific chainswitch_networkSwitch to different EVM chain
ToolDescriptionarena_buyBuy Arena community tokens via bonding curve (spends $ARENA)arena_sellSell Arena community tokens for $ARENAarena_token_infoGet token info (fees, curve params) by addressarena_buy_costCalculate $ARENA cost for a given buy amount (read-only)
ToolDescriptionapprove_and_callApprove ERC-20 spending, then execute a follow-up contract callupgrade_proxyUpgrade a UUPS proxy via upgradeToAndCall
ToolDescriptionget_bridge_quoteGet cross-chain bridge quote (Li.Fi)get_bridge_routesGet all bridge route optionsbridge_tokensBridge tokens between chainscheck_bridge_statusPoll cross-chain transfer status (PENDING/DONE/FAILED)fund_destination_gasFund gas via Gas.zip
ToolDescriptionlifi_swap_quoteGet same-chain DEX swap quote (31+ aggregators)lifi_swapExecute same-chain DEX swaplifi_get_tokensList tokens with prices on specified chainslifi_get_tokenGet specific token info (symbol, decimals, priceUSD)lifi_get_chainsList all Li.Fi supported chainslifi_get_toolsList available bridges and DEX aggregatorslifi_gas_pricesGet gas prices across all chainslifi_gas_suggestionGet gas suggestion for a specific chainlifi_get_connectionsDiscover possible transfer paths between chainslifi_composeCross-chain DeFi Composer (bridge + deposit into Morpho/Aave/Pendle/Lido/etc in one tx)
ToolDescriptionplatform_cli_availableCheck if platform-cli is installedsubnet_createCreate a new Avalanche subnetsubnet_convert_l1Convert subnet to L1 blockchainsubnet_transfer_ownershipTransfer subnet ownershipadd_validatorAdd validator with BLS keys to Primary Networkl1_register_validatorRegister a new L1 validatorl1_add_balanceAdd balance to L1 validatorl1_disable_validatorDisable an L1 validatornode_infoGet NodeID + BLS keys from running nodepchain_sendSend AVAX on P-Chain (PβP)
ToolDescriptiondydx_get_marketsList all dYdX perpetual markets with prices/leveragedydx_has_marketCheck if a specific perp market exists (e.g. AKT-USD)dydx_get_balanceGet USDC equity on dYdX subaccountdydx_get_positionsGet all open perpetual positionsdydx_place_market_orderPlace a market order (BUY/SELL)dydx_place_limit_orderPlace a limit orderdydx_cancel_orderCancel an open orderdydx_close_positionClose position with reduce-only market orderdydx_get_ordersList orders (optionally filter by status)find_perp_marketSearch for a market across all connected perp venues
node -e " const { Evalanche } = require('evalanche'); const agent = new Evalanche({ privateKey: process.env.AGENT_PRIVATE_KEY, network: 'base' }); agent.provider.getBalance(agent.address).then(b => { const { formatEther } = require('ethers'); console.log(formatEther(b) + ' ETH'); }); "
node -e " const { Evalanche } = require('evalanche'); const agent = new Evalanche({ privateKey: process.env.AGENT_PRIVATE_KEY, network: 'ethereum' }); agent.bridgeTokens({ fromChainId: 1, toChainId: 42161, fromToken: '0x0000000000000000000000000000000000000000', toToken: '0x0000000000000000000000000000000000000000', fromAmount: '0.1', fromAddress: agent.address, }).then(r => console.log('tx:', r.txHash)); "
node -e " const { Evalanche } = require('evalanche'); const agent = new Evalanche({ privateKey: process.env.AGENT_PRIVATE_KEY, network: 'base' }); agent.swap({ fromChainId: 8453, toChainId: 8453, fromToken: '0x0000000000000000000000000000000000000000', toToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', fromAmount: '0.05', fromAddress: agent.address, }).then(r => console.log('swap tx:', r.txHash)); "
node -e " const { Evalanche } = require('evalanche'); const agent = new Evalanche({ privateKey: process.env.AGENT_PRIVATE_KEY, network: 'ethereum' }); agent.checkBridgeStatus({ txHash: '0x...', fromChainId: 1, toChainId: 8453 }) .then(s => console.log(s.status, s.substatus)); "
node -e " const { Evalanche } = require('evalanche'); const agent = new Evalanche({ privateKey: process.env.AGENT_PRIVATE_KEY, network: 'base' }); agent.getToken(8453, '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913') .then(t => console.log(t.symbol, t.priceUSD)); "
node -e " const { Evalanche } = require('evalanche'); const agent = new Evalanche({ mnemonic: process.env.AGENT_MNEMONIC, multiVM: true }); agent.transfer({ from: 'C', to: 'P', amount: '25' }) .then(r => console.log('export:', r.exportTxId, 'import:', r.importTxId)); "
On-chain agent identity registry on Avalanche C-Chain Agent ID β tokenURI, owner, reputation score (0-100), trust level Trust levels: high (β₯75), medium (β₯40), low (<40)
Bridging: Aggregated routes across 27+ bridges (Across, Stargate, Hop, etc.) DEX Aggregation: Same-chain swaps via 31+ DEX aggregators (1inch, Paraswap, Jupiter, etc.) DeFi Composer: One-tx cross-chain DeFi (bridge + deposit into Morpho, Aave V3, Euler, Pendle, Lido wstETH, EtherFi, etc.) Status Tracking: Poll transfer status (PENDING β DONE/FAILED with substatus) Token Discovery: List/lookup tokens with prices across all chains Gas Pricing: Gas prices and suggestions per chain Uses Li.Fi REST API (no SDK dependency needed)
Cheap cross-chain gas funding Send gas to any destination chain via deposit addresses
HTTP 402 Payment Required β parse requirements β sign payment β retry maxPayment prevents overspending
Requires mnemonic and network: 'avalanche' or 'fuji' C-Chain: EVM (ethers v6), X-Chain: AVM (UTXO), P-Chain: PVM (staking)
ContractAddressChainIdentity Registry0x8004A169FB4a3325136EB29fA0ceB6D2e539a432AVAX C-Chain (43114)Reputation Registry0x8004BAa17C55a88189AE136b182e5fdA19dE9b63AVAX C-Chain (43114)sAVAX (Benqi)0x2b2C81e08f1Af8835a78Bb2A90AE924ACE0eA4bEAVAX C-Chain (43114)yoUSD Vault0x0000000f2eb9f69274678c76222b35eec7588a65Base (8453)
const { agent } = await Evalanche.boot({ network: 'avalanche' }); const { staking, vaults } = agent.defi(); // sAVAX unstake (instant if pool available, delayed otherwise) const q = await staking.sAvaxUnstakeQuote('5'); // { avaxOut, isInstant, poolBalance, minOutput } await staking.sAvaxUnstakeInstant('5'); // redeemInstant on Benqi await staking.sAvaxUnstakeDelayed('5'); // requestRedeem (no pool needed) // Stake AVAX β sAVAX await staking.sAvaxStake('10', 50); // 50bps slippage // EIP-4626 vault deposit (any chain) const YOUSD = '0x0000000f2eb9f69274678c76222b35eec7588a65'; const baseAgent = new Evalanche({ privateKey: '0x...', network: 'base' }); const { vaults: baseVaults } = baseAgent.defi(); await baseVaults.deposit(YOUSD, '1000', 'base'); // approve + deposit await baseVaults.withdraw(YOUSD, '998', 'base'); // redeem shares MCP tools (defi): savax_stake_quote, savax_stake, savax_unstake_quote, savax_unstake, vault_info, vault_deposit_quote, vault_deposit, vault_withdraw_quote, vault_withdraw
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.