MINARA
リファレンス環境変数

x402 ペイウォール事前承認

x402 ペイウォール事前承認 (PR-X)

これらの変数は「セッションレベルの事前承認」機能の範囲を限定します。この機能は 運用者が特定のスコープに対して x402 ペイウォール決済を一度承認すると、 有効期限 / 予算の枯渇 / 明示的な取り消しまで、自動決済(呼び出しごとの確認なし) できるようにします。 承認(grant)呼び出し自体は、常に統一確認ゲートを通ります。セッション 行が安着した後は、セッションのスコープに一致する期間内の x402 決済は呼び出し ごとのユーザープロンプトをスキップし、transfer_token を介して直接実行されます。 すべての自動支出は監査メタデータ(セッション id + 残り予算)を書き込むため、 ユーザーは各請求を追跡できます。 接続先: - src/minara/x402-preauth-store.ts (SQLite ストア + 上限計算) - src/minara/x402-preauth-config.ts (env ローダー + 上限ヘルパー) - src/tools/_shared/confirm.ts (shouldAutoExecuteX402) - src/tools/trade.ts (transfer_token が自動実行経路を参照し、 未一致の支払いは統一確認ゲートに残る) - src/tools/x402-preauth.ts (LLM から呼び出せる grant / list / revoke) - src/gateway/repl-commands.ts (/x402 preauth CLI 表面)

X402_PREAUTH_DEFAULT_TTL_HOURS

ユーザー / LLM が指定しない場合の既定のセッション有効期限。

  • 制御対象: x402_preauth_grantttl_hours なしで呼ばれたときに適用される TTL。
  • 使用箇所: src/minara/x402-preauth-config.ts。
  • 設定するタイミング: グラントを短命に保つには短くします(例: 4 = 4h)。長時間実行のバッチジョブに余裕を与えるには大きくします。
  • 未設定時: 24 時間。
  • 形式: 正の整数(時間)。
  • 設定の所在: ユーザー向け設定ではありません

X402_PREAUTH_MAX_TTL_HOURS

forever ではないセッション TTL のハードな上限。

  • 制御対象: ttl_hours > this value のグラントリクエストは field: "ttlMs" で拒否されます。cap ヘルパーが、LLM ツール、REPL コマンド、直接のストアアクセスにわたって一様にこれを強制します。
  • 設定するタイミング: オペレーターの信頼ウィンドウをより短く強制するには短くします。長命のセッションがデプロイ要件である場合にのみ大きくします。
  • 未設定時: 168(7 日)。
  • 形式: 正の整数(時間)。
  • 設定の所在: ユーザー向け設定ではありません

X402_PREAUTH_ALLOW_FOREVER

ttl_hours: "forever"(時間ベースの有効期限なし)のグラントを許可するかどうか。

  • 制御対象: 0 のとき、LLM ツール + REPL + ストアは forever グラントのリクエストを field: "forever" で拒否します。forever バジェットの cap はドキュメント用に引き続き読み取られますが、到達することはありません。すべてのグラントにハードな期限を設けたい環境(監査 / コンプライアンス)では 0 に設定します。
  • 未設定時: 1(forever グラントは許可されますが、REPL でのユーザー明示的な二重確認でゲートされ、LLM が forever を自動的に提案することはありません)。
  • 形式: 1/true/yes/on(許可)または 0/false/no/off
  • 設定の所在: ユーザー向け設定ではありません

X402_PREAUTH_MAX_PER_CALL_USDC

単一の自動支払い x402 決済のハードな上限(USDC)。

  • 制御対象: (a) LLM ツール + REPL は per_call_cap_usdc > this value のグラントを拒否します。(b) shouldAutoExecuteX402 は、この金額を超える単一の決済に対して amount_over_cap で短絡し、通常の 2 段階確認にフォールバックします。これは最も重要な安全境界です。ユーザーが既存のセッション内でより高い cap を付与していても、単一の悪質なペイウォールが引き出せる金額を制限します。
  • 設定するタイミング: 共有インフラでは、呼び出しごとの影響範囲を制限するために短くします。ペイウォールが正当により高額な場合にのみ大きくします。
  • 未設定時: 0.5(USDC)。
  • 形式: 正の数(USDC)。
  • 設定の所在: ユーザー向け設定ではありません

X402_PREAUTH_MAX_BUDGET_USDC

forever ではないセッションの合計バジェットのハードな上限(USDC)。

  • 制御対象: total_budget_usdc > this かつ null でない ttl_hours のグラントリクエストは拒否されます。forever グラントのバジェットは、以下の別の(通常はより厳格な)cap を使用します。
  • 未設定時: 5(USDC)。
  • 形式: 正の数(USDC)。
  • 設定の所在: ユーザー向け設定ではありません

X402_PREAUTH_MAX_FOREVER_BUDGET_USDC

forever セッションの合計バジェットのハードな上限(USDC)。

  • 制御対象: MAX_BUDGET_USDC と同じ形ですが、ttl_hours: "forever" のときにのみ適用されます。時間の境界を取り除くとより厳しい金額管理が求められるため、独立しています。forever バジェットは時間境界のあるものより上でも下でもかまいません。オペレーターが選択します。forever グラントは通常、数か月かけて積み上がる呼び出しごとの少額("$0.01/call x 2000 calls")であるため、既定はより高く設定されています。
  • 未設定時: 20(USDC)。
  • 形式: 正の数(USDC)。
  • 設定の所在: ユーザー向け設定ではありません

X402_PREAUTH_DISABLE

グローバルなキルスイッチ。

  • 制御対象: 1 のとき、すべての preauth コードパスが短絡します。transfer_tokenx402_context を無視し、LLM ツールは disabled エラーを返し、REPL は "x402 preauth disabled by env" と表示してグラントを拒否します。すべての x402 決済は通常の 2 段階確認フローにフォールバックします。
  • 設定するタイミング: インシデント対応(暴走したペイウォールが疑われる場合)、すべての決済を明示的なユーザー確認とともに記録しなければならないコンプライアンス監査ウィンドウ、またはこの機能をまったく望まないオペレーター向け。
  • 未設定時: 0(preauth 機構は有効)。
  • 形式: 1/true/yes/on で無効化します。それ以外(既定)はオンのままにします。
  • 設定の所在: ユーザー向け設定ではありません

OpenClaw ワークスペース統合

エージェントは ~/.minara/workspace/(--workspace で上書き可能)にある ワークスペースディレクトリを読み書きします。このディレクトリには OpenClaw の AGENTS.default スキーマを本にした Markdown ファイルが含まれます: SOUL.md (アイデンティティ)、AGENTS.md (ルール)、IDENTITY.md、USER.md、MEMORY.md (選別された長期記憶)、HEARTBEAT.md (セッション間メモ)、BOOTSTRAP.md (初回実行のみ)、そして memory/YYYY-MM-DD-*.md (日次ログ)。 テンプレートは src/workspace/templates/ の下で提供されます。minara setup が初回実行時にこれらをシードします。シードは冪等で、ユーザーがすでに編集した ファイルを決して上書きしません。

WORKSPACE_HEARTBEAT_ENABLED

ターンごとの HEARTBEAT.md ステートライター。

  • 制御対象: オンのとき、毎ターン後に Agent は <workspace>/HEARTBEAT.mdlast_seensession_idsurfaceturn_countlast_user_query、および返信から抽出したヒューリスティックな open_loops を書き込みます。ライターは、ユーザーが編集した ## Schedule セクションを書き込みをまたいでそのまま保持します。
  • When to disable: 読み取り専用の workspace マウント、CI 実行、セッションメモをディスクに残したくないプライバシー重視のコンテキスト。
  • 未設定時: オン。
  • 形式: 0/false/no/off で無効化します。それ以外(既定)はオンのままにします。
  • 設定の所在: 設定 → 環境設定(schema キー)

WORKSPACE_DAILY_LOG_ENABLED

セッションごとの日次ログを追記します。

  • 制御対象: オンのとき、各サイクルで、永続的な SQLite ウォーターマーク以降のジャーナル化されていない chat_turns の行を、すべて <workspace>/memory/YYYY-MM-DD-<session>.md にフラッシュします。行は実際のセッション id、surface、ランタイムソースを保持します。相関 id がセッション id として使われることはありません。セッションごとのファイルにより、マルチプロセスの追記競合を回避します。
  • When to enable: Agent に作業メモリを蓄積させ、後で MEMORY.md に昇格できるようにしたい長期稼働のデプロイ。
  • 未設定時: オフ(明示的にオプトインするまで workspace は小さいままです)。
  • 形式: 1/true/yes/on で有効化します。
  • 設定の所在: 設定 → 環境設定(schema キー)

WORKSPACE_DAILY_LOG_INTERVAL

日次ログ追記の間隔(ターン数)。

  • 制御対象: 上記の chat_turns のバックログをフラッシュするサイクル。フラッシュのたびにウォーターマーク以降のすべての行を書き込むため、間隔を増やすと永続化は遅れますが、途中のターンをサンプリングしたり破棄したりすることはありません。
  • 未設定時: 5 ターン。
  • 形式: 正の整数。
  • 設定の所在: ユーザー向け設定ではありません

WORKSPACE_DREAM_ENABLED

定期的な MEMORY.md 統合。

  • 制御対象: オンのとき、setInterval タスクが WORKSPACE_DREAM_INTERVAL_HOURS ごとに起き、memory/ から最近の日次ログを読み、有効な LLM に永続的なファクト / 設定 / 判断を抽出させます。結果は MEMORY.md に追記される ## Dreamed YYYY-MM-DD セクションとして書き込まれます(追記のみ。ユーザーの編集が上書きされることはありません)。自動化由来のジャーナルターンはディスク上で監査可能なまま残りますが、LLM プロンプトの前に除去されるため、Autopilot、strategy、workflow、または不明な perps の実行がユーザー設定になることはありません。
  • When to enable: 手動のキュレーションなしに、短期ログから長期メモリを進化させたいオペレーター向けの長期稼働のデプロイ。LLM 呼び出しのコストがかかります。コストに敏感なコンテキストではオフにしておきます。
  • 未設定時: オフ。
  • 形式: 1/true/yes/on で有効化します。
  • 設定の所在: 設定 → 環境設定(schema キー)

WORKSPACE_DREAM_INTERVAL_HOURS

dream 統合のサイクル。

  • 制御対象: dreaming 実行の間隔(時間)。スケジューラーは前回の実行がまだ進行中の場合は tick をスキップするため、遅い LLM 呼び出しが積み重なることはありません。WORKSPACE_DREAM_ENABLED がオフの場合は効果がありません。
  • 未設定時: 24(1 日あたり 1 回の統合パス)。
  • 形式: 正の数(時間、小数可)。
  • 設定の所在: ユーザー向け設定ではありません

WORKSPACE_DREAM_TOTAL_INPUT_BYTES

dream プロンプト入力(すべての日次ログを合わせたもの)に対するグローバルなバイトバジェット。

  • 制御対象: 1 回の dream パスで LLM に送られる合計バイト数に上限を設けます。日次ログは、バジェットの範囲内で新しい順の連続した末尾スライスとして保持されるため、モデルは常に最新の活動を含む時系列的に連続したスライスを見ます。密なログの長いウィンドウがモデルのコンテキストウィンドウを超えるのを防ぎます。ファイルごとのコンテンツは引き続き 64 KB(ファイルごとの上限)で末尾切り詰めされ、最新のログは単独でこのバジェットを超える場合でも常に保持されます。WORKSPACE_DREAM_ENABLED がオフの場合は効果がありません。
  • 未設定時: 262144(256 KB)。
  • 形式: 正の整数(バイト)。
  • 設定の所在: ユーザー向け設定ではありません

WORKSPACE_DREAM_LOCK_TTL_MS

dream ロックファイルの TTL。

  • 制御対象: <workspace>/.dreaming.lock ファイルが、陳腐化して別のプロセスが再利用可能とみなされるまで尊重される期間。パスの間隔ではなく、単一の dream パス(LLM 呼び出し + IO)の妥当な最長時間を反映すべきです。このロックは、tick ウィンドウが重なったときに REPL と HTTP gateway が同じログを MEMORY.md に二重統合するのを防ぎます。NFS の workspace はサポートされません(基盤となる O_EXCL のセマンティクスは、すべての NFS クライアントで原子的であることが保証されていません)。dreaming は単一ホスト上で行ってください。WORKSPACE_DREAM_ENABLED がオフの場合は効果がありません。
  • 未設定時: 1800000(30 分)。
  • 形式: 正の整数(ミリ秒)。
  • 設定の所在: ユーザー向け設定ではありません

REPORT_BUNDLE_CHART_PNGS

deep-research の HTML / PDF レポートで、インタラクティブな ECharts の代わりに PNG バンドルのチャートにフォールバックします。

  • 制御対象: 設定すると、gateway の deep-research ブランチは renderDeepResearchReport["html", "pdf", "charts"] を渡すため、bundleChartPngs が実行され、HTML は各 chart://<id> を静的な <img src="charts/<id>.png"> タグとして埋め込みます(ヘッドレスの playwright でサーバーサイドレンダリング)。未設定の場合(v7 以降の既定)、gateway は ["html", "pdf"] のみを渡し、すべての chart:// リンクは正規の ECharts 埋め込みパターン(<div class="echart-host"> + インラインの <script>、echarts CDN からハイドレート)に展開されます。既定ではズーム + ツールチップ + saveAsImage の PNG ダウンロードを備えたインタラクティブなチャートが生成されます。
  • これを消費するスキル / ツール: deep-research パイプライン(src/gateway/api.tshandleChatStream deep-research ブランチ)。
  • When to set it: オフラインでの配布用にレポートをエクスポートするオペレーター(echarts CDN に到達できない場合)、または開いたときに約 120 KB の CDN スクリプトが取得されることを許容できないオペレーター向け。トレードオフ: PNG バンドルのチャートは静的です。ズーム、ツールチップ、PNG ダウンロードボタンはありません。チャートのマテリアライズを実行できるよう、ヘッドレスの playwright がインストールされている必要があります(すでにプロジェクトの依存関係です)。
  • 未設定時: インタラクティブな ECharts(CDN ハイドレート)。チャートを見るにはネットワークアクセスのあるブラウザで HTML を開いてください。オフラインのチャートは、埋め込みスクリプトの try/catch により小さな "chart unavailable" プレースホルダーに劣化します。
  • 形式: 1 / true(有効化)。それ以外の値、または未設定では無効になります。
  • 設定の所在: 設定 → 環境設定(schema キー)

WALLET DEPOSIT WATCH

リアルタイム入金検出の SSE エンドポイント (POST /v1/wallet/deposits/watch)。perps の USDC/Arbitrum アドレスに対して、 Portfolio DepositModal のグリーンフリップを駆動します。 2 つのチェーントランスポートがあり、エージェントがブート時に選択します: 1. Alchemy (推奨) — ALCHEMY_API_KEY を設定。実際の mempool 観測のために alchemy_getAssetTransfers(専用に作られた着信転送クエリ) + alchemy_pendingTransactions の WS サブスクリプションを使用します。 無料枠: 月 300M CU。 2. Public RPC フォールバック — ALCHEMY_API_KEY がないとき。入金アドレスに フィルタリングされた USDC Transfer イベントのために、5 秒ごとに eth_getLogs をポーリングします。mempool の可視性なし(このモードでは pending イベントは放出されません)。 制御対象: WALLET_DEPOSIT_WATCH_ENABLED — SSE エンドポイントのマスター スイッチ。dev ではデフォルト ON で、機能が箱から出してすぐ動作します。 きれいに無効化するには false / 0 に設定します。off のとき、web-ui の DepositStatus pill は "Live updates unavailable" を表示し、ユーザーは 引き続き通常どおりアドレスをコピーできます。 消費するスキル / ツール: apps/agent/src/wallet-watch/* と api.ts の handleWalletDepositsWatch ハンドラー。

WALLET_DEPOSIT_WATCH_ENABLED

WALLET_DEPOSIT_WATCH_ENABLED=true

  • 設定の所在: 設定 → 環境設定(schema キー)

ALCHEMY_API_KEY

Arbitrum 用の Alchemy API キー。1 つのキーがすべての Alchemy チェーンで機能します。 任意です。設定しない場合、watcher はパブリックの Arbitrum RPC にフォールバックします(mempool 検知なし)。 ALCHEMY_API_KEY=abc123...

  • 設定の所在: 設定 → API キー

ALCHEMY_NETWORK

Alchemy のネットワーク enum 文字列。今日重要なのは arb-mainnet のみです (perps ウォレットの入金 = Arbitrum 上の USDC)。エンドツーエンドの QA のために ALCHEMY_API_KEY をテストネットに向ける場合にのみオーバーライドします。 ALCHEMY_NETWORK=arb-mainnet

  • 設定の所在: ユーザー向け設定ではありません

ARBITRUM_RPC_URL

パブリックの Arbitrum RPC URL。ALCHEMY_API_KEY が未設定のときに使われます。

  • デフォルト: https://arb1.arbitrum.io/rpc(Arbitrum Foundation)。
  • 確認後の検知のみが必要な場合、オペレーターは Alchemy を有効にせずに
  • 有料の HTTPS エンドポイントに差し替えることができます。
  • ARBITRUM_RPC_URL=https://arb1.arbitrum.io/rpc
  • 設定の所在: ユーザー向け設定ではありません

SOLANA_RPC_URL

spot 入金 watcher が Solana チェーンに使うパブリックの Solana RPC URL。非 EVM のため Alchemy は自動配線されません。この URL が最初に試され、次に foundation グレードのパブリックリスト(api.mainnet-beta.solana.com、solana-rpc.publicnode.com、…)が順に試されます。トランスポートはユーザーの USDC トークンアカウントに対して getSignaturesForAddress を 5 秒ごとにポーリングし、confirmed コミットメントで credited に切り替えます。

DEPOSIT_WATCH_TIMEOUT_MS

watch セッションが自動クローズ前にとどまる時間(ミリ秒)。既定は 20 分。 遅いチェーンの確認には十分な長さですが、開いたまま忘れられたモーダルでの リソース使用に上限を設けます。 DEPOSIT_WATCH_TIMEOUT_MS=1200000

  • 設定の所在: ユーザー向け設定ではありません

目次