Skip to main content

@stwd/eliza-plugin

The @stwd/eliza-plugin package provides drop-in Steward wallet management for ElizaOS agents.

Installation

Plugin Structure

Exports

StewardService

The core service that initializes the Steward SDK connection.
Configuration via environment variables: *At least one of STEWARD_API_KEY or STEWARD_JWT is required. Use the agent JWT for first-class provider actions. The plugin stays disabled when the API URL, authentication, or agent identity is missing. Auto-registration additionally requires both an API key and tenant ID. There is no local-signing fallback: an unavailable Steward service leaves wallet operations unavailable. Accessing from runtime:

Actions

signTransactionAction

Signs and broadcasts an EVM transaction through Steward. Trigger: Agent determines a blockchain transaction is needed (via LLM reasoning). Parameters extracted from conversation:
  • to — Destination address
  • value — Amount in wei
  • data — Optional calldata
  • chainId — Target chain
Example conversation:

transferAction

Transfers native tokens (ETH/SOL) to an address. Parameters:
  • to — Recipient address
  • amount — Amount (human-readable, e.g., “0.1 ETH”)
Example:

providerAction

Invokes the v2 workspace-scoped provider authority flow. This is distinct from the legacy capability proxy: the action is bound to a registered workspace, provider account, operation, exact request digest, and case id.
When policy requires approval, the action reports blocked: true and explicitly says it has not executed. A policy/access denial is also surfaced as a persisted action id rather than mislabeled as an unsubmitted request. If idempotencyKey is omitted, the plugin derives a stable retry key from the Eliza message id and canonical public parameters; without either stable identity it fails closed. It never accepts provider credentials as parameters.

Providers

walletStatusProvider

Injects wallet context into the agent’s prompt:

balanceProvider

Injects current balance into the agent’s prompt:

providerActionsProvider

Polls the agent-scoped status API for actions invoked during the current runtime and injects their status and case id into agent state. It does not call the protected approval, case-manifest, or evidence routes; those retain their human session and recent-MFA gates.

Evaluators

approvalRequiredEvaluator

Checks for pending transactions in the Steward approval queue. When a transaction requires manual approval, it injects context for the agent to inform the user.

Usage in Character Config