Bounds, Alerts & Ledger

Policy bounds, alert monitoring, position tracking, and activity ledger

Policy Bounds

Bounds gate all write operations. The agent cannot exceed these limits, preventing runaway transactions.

get_bounds

Returns the current policy bounds.

Response
{
  "maxStakePerTx": 10,
  "maxDailyStake": 50,
  "minEthReserve": 0.5,
  "autoRestakeThreshold": 0.05,
  "governanceAutoVote": false
}

set_bounds

Updates one or more policy bounds. Only pass the fields you want to change.

Parameters
{
  "maxStakePerTx": 2.0,
  "minEthReserve": 0.3,
  "governanceAutoVote": true
}
If governanceAutoVote is false, the agent cannot call cast_vote. Set it to true to allow autonomous voting.

Cross-chain Position

get_total_position

Returns an aggregated position across Ethereum mainnet, Base, and Arbitrum, all converted to ETH equivalent.

Parameters
{ "address": "0x..." }

Alerts

Alerts fire via Telegram or webhook when conditions are met. Requires the monitor daemon (moly monitor start).

set_alert

Creates a new alert rule. Supported conditions:

ConditionThresholdFires when
balance_belowETH amountETH balance drops below threshold
balance_aboveETH amountETH balance rises above threshold
reward_rate_belowRateStaking reward rate drops below threshold
reward_rate_aboveRateStaking reward rate rises above threshold
withdrawal_readyNoneAny pending withdrawal is finalized
proposal_newNoneA new governance proposal is created
conversion_rate_aboveRatestETH/wstETH rate exceeds threshold
conversion_rate_belowRatestETH/wstETH rate drops below threshold
reward_deltaETH amountReward change exceeds threshold
governance_expiringNoneA governance vote is about to expire
Parameters
{
  "condition": "balance_below",
  "threshold": 1.0,
  "channel": "telegram"
}

list_alerts / remove_alert

list_alerts returns all configured alerts. remove_alert takes an alert ID to delete it.

configure_alert_channels

Sets up Telegram or webhook notification channels.

Parameters
{
  "telegram_token": "123456:ABC...",
  "telegram_chat_id": "-100123456",
  "webhook_url": "https://example.com/hook"
}

Activity Ledger

Every tool execution is logged to a SQLite database for auditability.

get_trade_history

Query the ledger with optional filters by tool name, date range, and result limit.

Parameters
{
  "tool": "stake_eth",
  "since": "2026-01-01",
  "limit": 20
}

get_staking_summary

Returns aggregate stats: total operations, total ETH staked, error count.

Parameters
{ "since": "2026-01-01" }