Files
wehub-resource-sync 426e9eeabd
Benchmark Bridge Tests / benchmark (bunx @biomejs/biome check packages/lifeops-bench/src, benchmark-lint) (push) Waiting to run
Benchmark Bridge Tests / benchmark (bunx vitest run --config packages/lifeops-bench/vitest.config.ts --root packages/lifeops-bench --passWithNoTests, benchmark-tests) (push) Waiting to run
Build Agent Image / build-and-push (push) Waiting to run
Chat shell gestures / Chat shell gesture + parity e2e (push) Waiting to run
ci / test (push) Waiting to run
ci / lint-and-format (push) Waiting to run
ci / build (push) Waiting to run
ci / dev-startup (push) Waiting to run
Cloud Gateway Discord / Test (push) Waiting to run
Cloud Gateway Webhook / Test (push) Waiting to run
Cloud Tests / lint-and-types (push) Waiting to run
Cloud Tests / unit-tests (push) Waiting to run
Cloud Tests / integration-tests (push) Waiting to run
Cloud Tests / e2e-tests (push) Blocked by required conditions
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Deploy Apps Worker (Product 2) / Determine environment (push) Waiting to run
Deploy Apps Worker (Product 2) / Deploy apps worker to apps-control host (${{ needs.determine-env.outputs.environment }}) (push) Blocked by required conditions
Deploy Eliza Provisioning Worker / Determine environment (push) Waiting to run
Deploy Eliza Provisioning Worker / Deploy worker to Hetzner host (${{ needs.determine-env.outputs.environment }} @ ${{ needs.determine-env.outputs.deployment_sha }}) (push) Blocked by required conditions
Dev Smoke / Classify changed paths (push) Waiting to run
Dev Smoke / bun run dev onboarding chat (push) Blocked by required conditions
Dev Smoke / Vite HMR dependency-level smoke (push) Blocked by required conditions
Electrobun Submodule Guard / electrobun gitlink is fetchable (push) Waiting to run
gitleaks / gitleaks (push) Waiting to run
Markdown Links / Relative Markdown Links (push) Waiting to run
Publish @elizaos/example-code / check_npm (push) Waiting to run
Publish @elizaos/example-code / publish_npm (push) Blocked by required conditions
Publish @elizaos/plugin-elizacloud / verify_version (push) Waiting to run
Publish @elizaos/plugin-elizacloud / publish_npm (push) Blocked by required conditions
Quality (Extended) / Homepage Build (PR smoke) (push) Waiting to run
Quality (Extended) / Comment-only diff guard (push) Waiting to run
Quality (Extended) / Format + Type Safety Ratchet (push) Waiting to run
Quality (Extended) / Develop Gate (secret scan + UI determinism) (push) Waiting to run
Quality (Extended) / Develop Gate (lint) (push) Waiting to run
Sandbox Live Smoke / Sandbox live smoke (push) Waiting to run
Snap Build & Test / Build Snap (amd64) (push) Waiting to run
Snap Build & Test / Build Snap (arm64) (push) Waiting to run
supply-chain / sbom (push) Waiting to run
supply-chain / vulnerability-scan (push) Waiting to run
Build, Push & Deploy to Phala Cloud / build-and-push (push) Waiting to run
Test Packaging / Validate Packaging Configs (push) Waiting to run
Test Packaging / PyPI on Python ${{ matrix.python }} (push) Waiting to run
Test Packaging / Pack & Test JS Tarballs (push) Waiting to run
Test Packaging / elizaos CLI global-install smoke (node + bun) (push) Waiting to run
UI Fixture E2E / ui-fixture-e2e (push) Waiting to run
UI Fixture E2E / fixture-e2e (push) Waiting to run
UI Story Gate / story-gate (push) Waiting to run
vault-ci / test (macos-latest) (push) Waiting to run
vault-ci / test (ubuntu-latest) (push) Waiting to run
vault-ci / test (windows-latest) (push) Waiting to run
vault-ci / app-core wiring tests (push) Waiting to run
verify-patches / verify patches/CHECKSUMS.sha256 (push) Waiting to run
Voice Benchmark Smoke / voice-emotion fixture smoke (push) Waiting to run
Voice Benchmark Smoke / voiceagentbench fixture smoke (push) Waiting to run
Voice Benchmark Smoke / voicebench-quality unit smoke (push) Waiting to run
Voice Benchmark Smoke / voicebench TypeScript unit (no audio) (push) Waiting to run
Voice Benchmark Smoke / voice bench smoke summary (push) Blocked by required conditions
Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Waiting to run
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Waiting to run
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Waiting to run
Test Packaging / Build & Test PyPI Package (push) Waiting to run
Voice Workbench / headless workbench (mocked backends) (push) Has been cancelled
Voice Workbench / real acoustic lane (nightly, provisioned only) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:43:05 +08:00
..

@elizaos/plugin-wallet

Non-custodial wallet plugin for elizaOS agents. Provides EVM and Solana signing, token transfers, swaps, cross-chain bridging, on-chain governance, LP management, and market analytics behind a single unified action+provider surface.

Replaces the former fan-out across plugin-evm, plugin-solana, plugin-raydium, plugin-orca, plugin-meteora, plugin-jupiter, plugin-lp-manager, and plugin-clanker.

Capabilities

On-chain actions (via the WALLET action)

Subaction What it does
transfer Send tokens to an external address. EVM or Solana. Always requires user confirmation.
swap Token swap via Li.Fi (EVM) or Jupiter (Solana).
bridge Cross-chain transfer via Li.Fi route finding or CCTP (Circle's native USDC bridge).
gov On-chain governance: propose, vote, queue, execute via OpenZeppelin Governor.
pump_fun_buy Buy a pump.fun token on Solana through PumpPortal trade-local, local signing, and Solana RPC submission.

All write operations default to mode=prepare (stages the transaction but does not sign or send). The agent asks the user to confirm before submitting. dryRun=true returns metadata without signing.

Analytics subactions (no wallet required)

Subaction What it does
token_info Token and market data from DexScreener, Birdeye, or CoinGecko.
search_address Birdeye wallet portfolio lookup by address.

LP management

Multi-DEX LP management for both EVM and Solana chains:

  • EVM: Uniswap V3, Aerodrome, PancakeSwap V3
  • Solana: Raydium CLMM, Orca Whirlpools, Meteora DLMM

Access via the lpManagerPlugin export; LP actions are surfaced as the LIQUIDITY action (via liquidityAction).

Market analytics

  • Birdeye: real-time prices, trending tokens, portfolio valuation.
  • DexScreener: pair search, token lookups.
  • Token info: multi-provider dispatcher (DexScreener, Birdeye, CoinGecko).
  • DeFi news: via defiNewsPlugin.

Wallet backends

The plugin supports two signing backends, selected by ELIZA_WALLET_BACKEND:

  • local — raw EOA private keys from environment variables or the OS keychain. Default for desktop.
  • steward — multi-tenant Steward signing service. Required for cloud and mobile deployments.
  • auto (default) — uses Steward when ELIZA_CLOUD_PROVISIONED=1 or ELIZA_WALLET_STEWARD_AUTO=1, otherwise local.

Required configuration

None of the variables below are strictly required at load time; the plugin degrades gracefully. To get signing:

Variable When needed
EVM_PRIVATE_KEY EVM operations with local backend
SOLANA_PRIVATE_KEY Solana operations with local backend
STEWARD_API_URL + STEWARD_AGENT_TOKEN Steward backend or cloud deployments
SOLANA_RPC_URL Any Solana operation

Additional optional variables:

Variable Purpose
ELIZA_WALLET_BACKEND local | steward | auto
BIRDEYE_API_KEY Direct Birdeye access (falls back to Eliza Cloud route)
BIRDEYE_WALLET_ADDR Enables portfolio provider for a specific address
BIRDEYE_NO_TRENDING Disable trending provider
ELIZA_AGENT_WALLET_AUTO_ENABLE Set to 0 to disable auto-enable
PUMPFUN_TRADE_LOCAL_URL Override PumpPortal local transaction API; default https://pumpportal.fun/api/trade-local
PUMPFUN_PRIORITY_FEE_SOL Priority fee in SOL for pump_fun_buy; default 0.00005
PUMPFUN_POOL PumpPortal pool selector for pump_fun_buy; default auto
X402_SUPPORTED_NETWORKS Comma-separated networks for x402 micropayments
X402_GLOBAL_DAILY_LIMIT Daily USDC spending cap for x402
X402_PER_REQUEST_MAX Per-request USDC cap for x402

EVM RPC per chain: ETHEREUM_RPC_URL / EVM_PROVIDER_MAINNET, BASE_RPC_URL / EVM_PROVIDER_BASE, BSC_RPC_URL / EVM_PROVIDER_BSC, ARBITRUM_RPC_URL / EVM_PROVIDER_ARBITRUM.

Enabling the plugin

The plugin auto-enables when any signing path is present (EVM or Solana private key, or Steward credentials). To opt out of auto-enable, set ELIZA_AGENT_WALLET_AUTO_ENABLE=0. To explicitly disable, set enabled: false for plugin id wallet in the agent config.

Security model

All on-chain writes (transfer, swap, bridge, gov, pump_fun_buy) require an explicit user confirmation before execution. The LLM cannot authorize a transaction by itself — a confirmed human reply turn is always required. EVM recipient addresses on transfers are additionally validated via assertEvmTransferRecipientAuthorized.

pump_fun_buy accepts toToken, token, tokenAddress, mint, query, or address as the pump.fun/Solana token mint, with amount interpreted as SOL. When a browser service is loaded, execution opens https://pump.fun/coin/<mint> before requesting the serialized transaction from PumpPortal and signing through WalletBackend.getSolanaSigner() or the existing local Solana wallet path.

src/audit/audit-log.ts defines AuditLogRow plus hash-chain helpers for action validate/handler lifecycle events and signing requests. Runtime callers own where those rows are stored.

SDK

src/sdk/ provides lower-level ERC-6551 token-bound account primitives, x402 micropayment protocol types, CCTP bridge helpers, and spend-policy tooling. These are primarily for plugin internals but are re-exported from the package barrel for external use. SDK source is MIT-licensed (attribution: agent-wallet-sdk); see SDK-LICENSE.