{"skill":{"slug":"predictclaw","displayName":"Predictfunclaw","summary":"Predict.fun skill with a PolyClaw-style CLI for markets, wallet funding, trading, positions, and hedging.","description":"---\nname: predictclaw\ndescription: Predict.fun skill with a PolyClaw-style CLI for markets, wallet funding, trading, positions, and hedging.\nmetadata: {\"openclaw\":{\"emoji\":\"🔮\",\"homepage\":\"https://predict.fun\",\"requires\":{\"bins\":[\"uv\",\"erc-mandated-mcp\"],\"env\":[\"PREDICT_ENV\",\"PREDICT_WALLET_MODE\",\"PREDICT_API_KEY\",\"PREDICT_EOA_PRIVATE_KEY\",\"PREDICT_ACCOUNT_ADDRESS\",\"PREDICT_PRIVY_PRIVATE_KEY\",\"ERC_MANDATED_MCP_COMMAND\",\"ERC_MANDATED_VAULT_ADDRESS\",\"ERC_MANDATED_FACTORY_ADDRESS\",\"ERC_MANDATED_VAULT_ASSET_ADDRESS\",\"ERC_MANDATED_VAULT_AUTHORITY\",\"ERC_MANDATED_AUTHORITY_PRIVATE_KEY\",\"ERC_MANDATED_EXECUTOR_PRIVATE_KEY\",\"ERC_MANDATED_BOOTSTRAP_PRIVATE_KEY\",\"OPENROUTER_API_KEY\"]},\"install\":[{\"id\":\"uv-brew\",\"kind\":\"brew\",\"formula\":\"uv\",\"bins\":[\"uv\"],\"label\":\"Install uv (brew)\"},{\"id\":\"erc-mandated-mcp-node\",\"kind\":\"node\",\"package\":\"@erc-mandated/mcp\",\"bins\":[\"erc-mandated-mcp\"],\"label\":\"Install erc-mandated-mcp (manual prerequisite for vault flows)\"}]}}\n---\n\n# PredictClaw\n\nPredictClaw is the predict.fun-native OpenClaw skill for browsing markets, checking wallet readiness, viewing funding guidance, withdrawing funds, placing buys, inspecting positions, and scanning hedge opportunities.\n\nPredictClaw's version source of truth is the repository-root `pyproject.toml`. When checking GitHub or packaging metadata, use this repository root directly.\n\n## Install\n\n### ClawHub / packaged install\n\n```bash\nclawhub install predictclaw\ncd ~/.openclaw/skills/predictclaw\nuv sync\ncp template.env .env\n```\n\nThe installed skill directory `~/.openclaw/skills/predictclaw` is the only canonical user config root. In OpenClaw manifests and examples, this same installed path may appear as `{baseDir}`. Any repository checkout or workspace copy is a development-only artifact, not a user config root.\n\n### Manual install\n\n1. Copy or symlink this repository into `~/.openclaw/skills/predictclaw/`\n2. From the installed skill directory, run:\n\n```bash\ncd {baseDir} && uv sync\ncd {baseDir} && cp template.env .env\n```\n\n## How configuration actually works\n\nPredictClaw only reads standard environment variables. The supported, tested inputs are:\n\n- the process environment, for example `export PREDICT_ENV=testnet`\n- a local `~/.openclaw/skills/predictclaw/.env` file, auto-loaded by `scripts/predictclaw.py` when present; in manifests and examples, that same installed path may appear as `{baseDir}`\n\nIf both are present, exported environment variables win and `.env` only fills missing values.\n\nIf your OpenClaw host version injects environment variables into the skill process, that also works because PredictClaw receives normal env vars either way. Older docs used `skills.entries.predictclaw.env`; treat that as a host-version-specific convenience, not the canonical PredictClaw config surface.\n\nThe SKILL frontmatter metadata now declares the external runtime and conditionally used env surfaces so ClawHub users can review them before installation. The mode-specific requirements are still documented below and enforced by the runtime config validator; not every listed variable is required at the same time.\n\n## Mode-first onboarding\n\nChoose the mode first, then show only the minimum fields for that mode.\n\n- `read-only`\n  - Browsing only.\n  - Minimum fields: `PREDICT_ENV`, `PREDICT_WALLET_MODE`, and `PREDICT_API_KEY` for mainnet reads.\n- `eoa`\n  - Direct signer trading.\n  - Minimum fields: `PREDICT_ENV`, `PREDICT_WALLET_MODE=eoa`, `PREDICT_API_KEY`, `PREDICT_EOA_PRIVATE_KEY`.\n- `predict-account + ERC_MANDATED_*`\n  - Recommended funded-trading path.\n  - Ask first: **Do you already have a vault?**\n  - **Have a vault** -> minimum fields: `PREDICT_ENV`, `PREDICT_WALLET_MODE=predict-account`, `PREDICT_API_KEY`, `PREDICT_ACCOUNT_ADDRESS`, `PREDICT_PRIVY_PRIVATE_KEY`, `ERC_MANDATED_MCP_COMMAND`, `ERC_MANDATED_CHAIN_ID`, `ERC_MANDATED_VAULT_ADDRESS`, optional `ERC_MANDATED_CONTRACT_VERSION`.\n  - **Need a vault** -> deploy or redeploy a vault first with the pure `mandated-vault` bootstrap path, then return to overlay.\n- pure `mandated-vault`\n  - Recommended governance/control-plane path.\n  - Minimum fields: `PREDICT_ENV`, `PREDICT_WALLET_MODE=mandated-vault`, `PREDICT_API_KEY`, `PREDICT_EOA_PRIVATE_KEY`, `ERC_MANDATED_MCP_COMMAND`, `ERC_MANDATED_CHAIN_ID`.\n\nAdvanced authority / executor / bootstrap private keys are follow-up fields, not default first-screen requirements. Only surface them when the selected workflow really executes vault-side actions.\nDo not treat the full derivation tuple as the primary first-step answer for overlay onboarding when the user already has a deployed vault.\n\n## Mode reminders\n\n1. Run `uv sync` in the installed skill directory.\n2. Pick a bootstrap file:\n    - `template.env` -> secret-free local fixture bootstrap\n    - `template.readonly.env` -> live read-only market reads\n    - `template.eoa.env` -> direct private-key trading\n    - `template.predict-account.env` -> recommended funded-trading path (Predict Account trades, Vault can fund it)\n    - `template.mandated-vault.env` -> recommended governance/control-plane path for advanced pure vault workflows\n3. Copy the chosen file to `.env` inside `~/.openclaw/skills/predictclaw/`.\n4. Fill only the variables required for that mode.\n5. Verify with:\n\n```bash\ncd {baseDir} && uv run python scripts/predictclaw.py --help\ncd {baseDir} && uv run python scripts/predictclaw.py markets trending\n```\n\n`wallet status` requires signer configuration. For `read-only`, start with `markets trending` or `market <id> --json` instead.\n\nmainnet market reads require PREDICT_API_KEY. Non-mainnet usage remains explicit-only and is no longer the packaged default.\n\n`test-fixture` only knows the bundled local market IDs (`123`, `456`, `789`, `101`, `202`). Switch to the live read-only template before querying a real production market ID.\n\n## Recommended operating model\n\n- For user-facing funded trading, recommend `predict-account + ERC_MANDATED_*`.\n- In that model, Predict Account remains the trading identity and deposit address, while Vault acts as the funding/control plane.\n- For governance-first or bootstrap-only workflows, recommend pure `mandated-vault` instead.\n- Do not present pure `mandated-vault` as a co-equal default for trading because it still fails closed on buy / positions / hedge flows.\n- For overlay onboarding, ask whether the user already has a vault before asking for advanced vault metadata.\n\nFor signer-backed modes, the next verification step is:\n\n```bash\ncd {baseDir} && uv run python scripts/predictclaw.py wallet status --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet status --json\n```\n\nCanonical user-facing templates now include:\n\n- `template.predict-account.env`\n- `template.predict-account-vault.env`\n\n`template.mandated-vault.env` remains only as the internal/bootstrap compatibility template.\n\n## Configuration examples\n\nThe snippets below are `.env` examples. Put them in `{baseDir}/.env` or export the same names in your shell.\n\nThe installed skill directory `~/.openclaw/skills/predictclaw` remains the only canonical user config root; `{baseDir}` is just the manifest/example placeholder for that installed path.\n\n`OPENROUTER_API_KEY` appears in the signer examples only for optional `hedge scan` / `hedge analyze` usage. It is not required for market, wallet, or buy flows and is only needed for non-fixture hedge analysis.\n\nDo not lead with the full env matrix when a user only asks how to configure the skill. Ask for the mode first, then show only the minimum fields for that mode.\n\n### bootstrap-safe fixture mode\n\n```dotenv\nPREDICT_ENV=test-fixture\nPREDICT_WALLET_MODE=read-only\n```\n\nUse this for secret-free CLI verification and local market browsing only. It does not hit the live API.\n\n### live read-only mode\n\n```dotenv\nPREDICT_ENV=mainnet\nPREDICT_WALLET_MODE=read-only\nPREDICT_API_KEY=YOUR_PREDICT_API_KEY\n```\n\nUse the live templates as mainnet-first examples.\n\n### eoa mode\n\n```dotenv\nPREDICT_ENV=mainnet\nPREDICT_WALLET_MODE=eoa\nPREDICT_API_BASE_URL=https://api.predict.fun\nPREDICT_API_KEY=YOUR_PREDICT_API_KEY\nPREDICT_EOA_PRIVATE_KEY=0xYOUR_EOA_PRIVATE_KEY\n```\n\n### predict-account mode\n\n```dotenv\nPREDICT_ENV=mainnet\nPREDICT_WALLET_MODE=predict-account\nPREDICT_API_BASE_URL=https://api.predict.fun\nPREDICT_API_KEY=YOUR_PREDICT_API_KEY\nPREDICT_ACCOUNT_ADDRESS=0xYOUR_PREDICT_ACCOUNT\nPREDICT_PRIVY_PRIVATE_KEY=0xYOUR_PRIVY_EXPORTED_KEY\n```\n\n### predict-account + vault route\n\nThe user-facing advanced mode is `predict-account + vault`, not a standalone `mandated-vault` mode.\n\nUse the canonical template:\n\n```dotenv\nPREDICT_ENV=mainnet\nPREDICT_API_BASE_URL=https://api.predict.fun\nPREDICT_API_KEY=YOUR_PREDICT_API_KEY\nPREDICT_WALLET_MODE=predict-account\nPREDICT_ACCOUNT_ADDRESS=0xYOUR_PREDICT_ACCOUNT\nPREDICT_PRIVY_PRIVATE_KEY=0xYOUR_PRIVY_EXPORTED_KEY\nERC_MANDATED_VAULT_ADDRESS=0xYOUR_DEPLOYED_VAULT\nERC_MANDATED_VAULT_ASSET_ADDRESS=0xYOUR_ASSET\nERC_MANDATED_VAULT_AUTHORITY=0xYOUR_AUTHORITY\nERC_MANDATED_AUTHORITY_PRIVATE_KEY=0xYOUR_VAULT_AUTHORITY_KEY\nERC_MANDATED_MCP_COMMAND=erc-mandated-mcp\nERC_MANDATED_CONTRACT_VERSION=v0.3.0-agent-contract\nERC_MANDATED_CHAIN_ID=56\n```\n\nIf the vault does not exist yet, run the bootstrap helper first.\n\n### Internal bootstrap subflow (`mandated-vault`)\n\nThe older `mandated-vault` path remains only as the internal/bootstrap compatibility subflow used to create or prepare a vault before returning to `predict-account + vault`.\n\n```dotenv\nPREDICT_ENV=mainnet\nPREDICT_API_BASE_URL=https://api.predict.fun\nPREDICT_API_KEY=YOUR_PREDICT_API_KEY\nPREDICT_WALLET_MODE=mandated-vault\nPREDICT_EOA_PRIVATE_KEY=0xYOUR_EOA_PRIVATE_KEY\nERC_MANDATED_MCP_COMMAND=erc-mandated-mcp\nERC_MANDATED_CHAIN_ID=56\n```\n\nPredictClaw uses the fixed product factory `0x6eFC613Ece5D95e4a7b69B4EddD332CeeCbb61c6`, previews first, requires explicit confirmation, and backfills `.env` with the deployed vault address and resolved values.\n\nOn `--confirm`, PredictClaw automatically enables the MCP broadcast gate for that subprocess and bridges the bootstrap signer key. The standard flow does not require manually setting `ERC_MANDATED_ENABLE_BROADCAST=1` or `ERC_MANDATED_BOOTSTRAP_PRIVATE_KEY`, but it no longer auto-edits `.env`.\n\nPreview first:\n\n```bash\ncd {baseDir} && uv run python scripts/predictclaw.py wallet bootstrap-vault --json\n```\n\nConfirm and broadcast:\n\n```bash\ncd {baseDir} && uv run python scripts/predictclaw.py wallet bootstrap-vault --confirm --json\n```\n\n### Internal bootstrap compatibility paths\n\nIf you intentionally need the internal bootstrap path directly, the following compatibility variants remain:\n\n#### Explicit deployed vault\n\n```dotenv\nPREDICT_ENV=mainnet\nPREDICT_API_BASE_URL=https://api.predict.fun\nPREDICT_API_KEY=YOUR_PREDICT_API_KEY\nPREDICT_WALLET_MODE=mandated-vault\nERC_MANDATED_VAULT_ADDRESS=0xYOUR_DEPLOYED_VAULT\nERC_MANDATED_MCP_COMMAND=erc-mandated-mcp\nERC_MANDATED_CHAIN_ID=56\n```\n\n#### Predicted / undeployed vault\n\n```dotenv\nPREDICT_ENV=mainnet\nPREDICT_API_BASE_URL=https://api.predict.fun\nPREDICT_API_KEY=YOUR_PREDICT_API_KEY\nPREDICT_WALLET_MODE=mandated-vault\nERC_MANDATED_FACTORY_ADDRESS=0xYOUR_FACTORY\nERC_MANDATED_VAULT_ASSET_ADDRESS=0xYOUR_ASSET\nERC_MANDATED_VAULT_NAME=Mandated Vault\nERC_MANDATED_VAULT_SYMBOL=MVLT\nERC_MANDATED_VAULT_AUTHORITY=0xYOUR_AUTHORITY\nERC_MANDATED_VAULT_SALT=0xYOUR_SALT\nERC_MANDATED_MCP_COMMAND=erc-mandated-mcp\nERC_MANDATED_CONTRACT_VERSION=v0.3.0-agent-contract\nERC_MANDATED_CHAIN_ID=56\n```\n\n`ERC_MANDATED_EXECUTOR_PRIVATE_KEY` is optional. When it is unset, PredictClaw reuses `ERC_MANDATED_AUTHORITY_PRIVATE_KEY` as the executor signer for the current Preflight MVP contract. This advanced/manual path can still expose `manual-only` create-vault preparation guidance when you intentionally stay on the manual route.\n\nFor advanced overrides, `ERC_MANDATED_BOOTSTRAP_PRIVATE_KEY` can replace the default bootstrap signer resolution and `ERC_MANDATED_ENABLE_BROADCAST` can explicitly force the execute-mode gate on or off. In the standard `--confirm` path, PredictClaw auto-bridges both values to the MCP subprocess for you.\n\n### predict-account + vault overlay (recommended advanced funding route)\n\n```dotenv\nPREDICT_ENV=mainnet\nPREDICT_API_BASE_URL=https://api.predict.fun\nPREDICT_API_KEY=YOUR_PREDICT_API_KEY\nPREDICT_WALLET_MODE=predict-account\nPREDICT_ACCOUNT_ADDRESS=0xYOUR_PREDICT_ACCOUNT\nPREDICT_PRIVY_PRIVATE_KEY=0xYOUR_PRIVY_EXPORTED_KEY\nERC_MANDATED_VAULT_ADDRESS=0xYOUR_DEPLOYED_VAULT\nERC_MANDATED_MCP_COMMAND=erc-mandated-mcp\nERC_MANDATED_CONTRACT_VERSION=v0.3.0-agent-contract\nERC_MANDATED_CHAIN_ID=56\n```\n\nAsk first: **Do you already have a vault?**\n\n- **Have a vault** -> this is the default overlay path. Provide `ERC_MANDATED_VAULT_ADDRESS` and let PredictClaw resolve the remaining vault metadata where possible.\n- **Need a vault** -> deploy or redeploy a vault first with the pure `mandated-vault` bootstrap path, then return to overlay.\n\nOnly if automatic resolution fails should you manually add advanced vault metadata such as `ERC_MANDATED_VAULT_ASSET_ADDRESS`, `ERC_MANDATED_VAULT_AUTHORITY`, or authority/executor private keys.\n\nIn the overlay route, Predict Account remains the deposit/trading account while Vault funds the Predict Account through MCP-backed session and asset-transfer planning.\n\nIf you do **not** have a vault yet, the recommended answer is to deploy or redeploy one first with the pure `mandated-vault` bootstrap flow. The full derivation tuple (`ERC_MANDATED_FACTORY_ADDRESS`, `ERC_MANDATED_VAULT_ASSET_ADDRESS`, `ERC_MANDATED_VAULT_NAME`, `ERC_MANDATED_VAULT_SYMBOL`, `ERC_MANDATED_VAULT_AUTHORITY`, and `ERC_MANDATED_VAULT_SALT`) remains available as an advanced/manual path rather than the default first step.\n\nThe optional `ERC_MANDATED_FUNDING_*` envs cap Vault→Predict transfers by per-tx amount, per-window cumulative amount, and window duration. On BSC mainnet USDT, `5U = 5000000000000000000` and `10U = 10000000000000000000`.\n\n## Wallet-mode contract\n\nPredictClaw exposes four user-facing modes.\n\n- `read-only` — browse market data only; no signer-backed wallet actions.\n- `eoa` — direct signer path for wallet, trade, and funding flows.\n- `predict-account` — smart-wallet funding/trading path using `PREDICT_ACCOUNT_ADDRESS` plus `PREDICT_PRIVY_PRIVATE_KEY`.\n- `predict-account + vault` — user-facing advanced route where Predict Account remains the trading identity and Vault acts as the advanced funding source.\n\n## How to answer funding-address questions\n\n- In `predict-account + vault`, the default user-facing answer is the Vault deposit flow.\n- Predict Account remains the trading identity and receives the downstream vault-driven top-up afterward.\n- `wallet deposit --json` / `wallet status --json` therefore distinguish the default funding entry (`manualTopUpAddress` / `fundingAddress`) from the trading identity (`predictAccountAddress`, `tradingIdentityAddress`).\n- Only answer with the Predict Account deposit address when the active route is plain `predict-account` without the vault overlay.\n\n## First-time setup\n\n- Default local posture is `test-fixture` or `mainnet`.\n- `mainnet` market reads require `PREDICT_API_KEY`.\n- Explicit non-mainnet routing is supported only when you opt into it yourself.\n- `read-only` is browse-only. Start with `markets ...`, not signer-backed wallet or trade commands.\n- `wallet status requires signer configuration`.\n- `eoa` requires `PREDICT_EOA_PRIVATE_KEY` and rejects Predict Account or mandated-vault inputs.\n- `predict-account` requires both `PREDICT_ACCOUNT_ADDRESS` and `PREDICT_PRIVY_PRIVATE_KEY`.\n- `wallet deposit` shows the default funding entry for the active signer mode.\n- `wallet bootstrap-vault` is the helper used during `predict-account + vault` onboarding when a vault still needs to be created or prepared.\n- `wallet redeem-vault --preview --json` inspects vault-share redeemability before any real redeem flow is attempted.\n- Redeem preview returns machine-readable `redeemableNow`, `blockingReason`, and `contractError` fields, including contract errors such as `ERC4626ExceededMaxRedeem`.\n- `wallet withdraw` performs safety validation before any transfer logic.\n- `mandated-vault` remains only as an internal/bootstrap compatibility path and is not a standalone user mode.\n- Default bootstrap only needs the signer EOA, deployment fee funding, and any optional `ERC_MANDATED_FUNDING_*` amount caps.\n- In `predict-account + ERC_MANDATED_*` overlay, `wallet status` / `wallet deposit` expose `manualTopUpAddress`, `tradingIdentityAddress`, `orchestrationVaultAddress`, and `vault-to-predict-account` funding semantics while Predict Account remains the trade identity.\n- In that route, the default funding ingress is the Vault deposit flow, not the Predict Account address.\n- Vault-related JSON also exposes `vaultAuthority`, `vaultExecutor`, `bootstrapSigner`, `allowedTokenAddresses`, and `allowedRecipients` so OpenClaw can reason about configured permissions.\n- Overlay `buy` can proceed when the Predict Account balance is sufficient; otherwise it returns deterministic `funding-required` guidance that points to `wallet deposit --json`.\n- Pure `mandated-vault` needs a working `ERC_MANDATED_MCP_COMMAND`; in overlay mode the default path is an explicit `ERC_MANDATED_VAULT_ADDRESS`, with asset/authority metadata resolved automatically where possible and only escalated to manual fields when that resolution fails.\n- To detect whether the runtime is already available, run `cd {baseDir} && uv run python scripts/predictclaw.py setup mandated-mcp`.\n- The default path does not globally install packages and does not auto-edit `.env`.\n- Install the external `erc-mandated-mcp` runtime yourself, then set `ERC_MANDATED_MCP_COMMAND` manually.\n- Hedge analysis uses OpenRouter; `OPENROUTER_API_KEY` is only required for non-fixture hedge analysis, and fixture mode stays secret-free.\n\n```bash\ncd {baseDir} && uv run python scripts/predictclaw.py --help\ncd {baseDir} && uv run python scripts/predictclaw.py wallet status --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet deposit --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet bootstrap-vault --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet bootstrap-vault --confirm --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet redeem-vault --share-token 0x4a88c1c95d0f59ee87c3286ed23e9dcdf4cf08d7 --holder 0x7df0ba782D85B93266b595d496088ABFAc823950 --all --preview --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet withdraw usdt 1 0xb30741673D351135Cf96564dfD15f8e135f9C310 --json\n```\n\n## Command surface\n\n```bash\ncd {baseDir} && uv run python scripts/predictclaw.py markets trending\ncd {baseDir} && uv run python scripts/predictclaw.py markets search \"election\"\ncd {baseDir} && uv run python scripts/predictclaw.py market 123 --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet status --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet approve --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet deposit --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet bootstrap-vault --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet bootstrap-vault --confirm --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet withdraw usdt 1 0xb30741673D351135Cf96564dfD15f8e135f9C310 --json\ncd {baseDir} && uv run python scripts/predictclaw.py wallet withdraw bnb 0.1 0xb30741673D351135Cf96564dfD15f8e135f9C310 --json\ncd {baseDir} && uv run python scripts/predictclaw.py buy 123 YES 25 --json\ncd {baseDir} && uv run python scripts/predictclaw.py positions --json\ncd {baseDir} && uv run python scripts/predictclaw.py position pos-123-yes --json\ncd {baseDir} && uv run python scripts/predictclaw.py hedge scan --query election --json\ncd {baseDir} && uv run python scripts/predictclaw.py hedge analyze 101 202 --json\n```\n\n## Environment variables\n\n| Variable | Purpose |\n| --- | --- |\n| `PREDICT_STORAGE_DIR` | Local journal and position storage |\n| `PREDICT_ENV` | Defaults to `mainnet` in code; `template.env` intentionally bootstraps `test-fixture`; accepted values are `mainnet`, `testnet`, or `test-fixture` |\n| `PREDICT_WALLET_MODE` | Explicit mode override: `read-only`, `eoa`, `predict-account`, or `mandated-vault` |\n| `PREDICT_API_BASE_URL` | Optional REST base override; packaged live templates pin this to `https://api.predict.fun`, while leaving it empty uses the env-specific default |\n| `PREDICT_API_KEY` | Mainnet-authenticated predict.fun API access; required for mainnet market reads and trading |\n| `PREDICT_EOA_PRIVATE_KEY` | EOA trading and funding path |\n| `PREDICT_ACCOUNT_ADDRESS` | Predict Account smart-wallet address |\n| `PREDICT_PRIVY_PRIVATE_KEY` | Privy-exported signer for Predict Account mode |\n| `ERC_MANDATED_VAULT_ADDRESS` | Explicit deployed mandated vault address |\n| `ERC_MANDATED_FACTORY_ADDRESS` | Product default factory for pure bootstrap and manual derivation override; current default is `0x6eFC613Ece5D95e4a7b69B4EddD332CeeCbb61c6` |\n| `ERC_MANDATED_VAULT_ASSET_ADDRESS` | ERC-4626 asset used in mandated-vault prediction/create preparation |\n| `ERC_MANDATED_VAULT_NAME` | Vault name used in mandated-vault prediction/create preparation |\n| `ERC_MANDATED_VAULT_SYMBOL` | Vault symbol used in mandated-vault prediction/create preparation |\n| `ERC_MANDATED_VAULT_AUTHORITY` | Authority address and create-vault `from` address for manual preparation |\n| `ERC_MANDATED_VAULT_SALT` | Deterministic salt used for vault prediction/create preparation |\n| `ERC_MANDATED_AUTHORITY_PRIVATE_KEY` | Preflight Vault signer key for the current single-key MVP contract |\n| `ERC_MANDATED_EXECUTOR_PRIVATE_KEY` | Optional dedicated executor signer; falls back to `ERC_MANDATED_AUTHORITY_PRIVATE_KEY` when unset |\n| `ERC_MANDATED_BOOTSTRAP_PRIVATE_KEY` | Optional execute-mode bootstrap signer override; when unset, PredictClaw falls back to `PREDICT_EOA_PRIVATE_KEY`, then `ERC_MANDATED_AUTHORITY_PRIVATE_KEY` |\n| `ERC_MANDATED_ENABLE_BROADCAST` | Optional execute-mode MCP gate override; `wallet bootstrap-vault --confirm` auto-bridges this to `1` unless you explicitly override it |\n| `ERC_MANDATED_MCP_COMMAND` | MCP launcher command (defaults to `erc-mandated-mcp`) |\n| `ERC_MANDATED_CONTRACT_VERSION` | Passed through to the mandated-vault MCP client |\n| `ERC_MANDATED_CHAIN_ID` | Optional explicit chain selection for the MCP bridge |\n| `ERC_MANDATED_ALLOWED_ADAPTERS_ROOT` | Optional 32-byte hex `allowedAdaptersRoot` used for Vault execution mandates; defaults to `0x11…11` for the current single-key MVP / PoC path |\n| `ERC_MANDATED_FUNDING_MAX_AMOUNT_PER_TX` | Optional Vault→Predict funding-policy `maxAmountPerTx` in raw token units |\n| `ERC_MANDATED_FUNDING_MAX_AMOUNT_PER_WINDOW` | Optional Vault→Predict funding-policy `maxAmountPerWindow` in raw token units |\n| `ERC_MANDATED_FUNDING_WINDOW_SECONDS` | Optional Vault→Predict funding-policy `windowSeconds` |\n| `OPENROUTER_API_KEY` | Optional OpenRouter credential; only required for non-fixture hedge analysis |\n| `PREDICT_MODEL` | OpenRouter model override |\n| `PREDICT_SMOKE_ENV` | Enables the smoke suite |\n| `PREDICT_SMOKE_API_BASE_URL` | Optional smoke REST base override |\n| `PREDICT_SMOKE_PRIVATE_KEY` | Enables signer/JWT smoke checks |\n| `PREDICT_SMOKE_ACCOUNT_ADDRESS` | Predict Account smoke mode |\n| `PREDICT_SMOKE_PRIVY_PRIVATE_KEY` | Predict Account smoke signer |\n| `PREDICT_SMOKE_API_KEY` | Smoke REST auth |\n\n## Architecture note\n\n- **SDK for chain-aware/signed flows**\n- **REST for auth, data, order submission, and query**\n\n## Safety notes\n\n- Do not treat fixture mode as proof of funded-wallet behavior.\n- Do not assume live liquidity from docs alone.\n- Keep only limited funds on automation keys.\n- Withdrawal commands are public; transfer validation happens before chain interaction, but users still own the operational risk.\n- When the goal is to keep Predict Account as the trading identity and let Vault only fund it, immediately choose `predict-account + ERC_MANDATED_*`.\n- `mandated-vault` is an advanced explicit opt-in mode. Treat it as a separate control-plane path, not a co-equal answer for Predict Account trading.\n- `predict-account + ERC_MANDATED_*` is the recommended advanced trading route when you want Vault to fund the Predict Account while keeping the official Predict Account order model.\n- Explicit-vs-predicted vault semantics: `ERC_MANDATED_VAULT_ADDRESS` targets an existing vault directly; otherwise PredictClaw uses the derivation tuple to ask the MCP for the predicted vault address.\n- `wallet bootstrap-vault --json` is preview-only, requires explicit confirmation before broadcast, and backfills `.env` after a confirmed deployment.\n- Advanced/manual derivation flows can still return create-vault preparation details (`predictedVault`, transaction summary, `manual-only`) without broadcasting.\n- Trust boundary: the MCP orchestrates transport and preparation; the vault contract policy authorizes what the vault can actually execute.\n- Pure `mandated-vault` does not provide predict.fun trading parity. `wallet approve`, `wallet withdraw`, `buy`, `positions`, `position`, `hedge scan`, and `hedge analyze` fail closed with `unsupported-in-mandated-vault-v1`.\n- Overlay funding currently plans the vault leg and surfaces deterministic `funding-required` guidance when buy needs top-up; it does not auto-execute the funding leg in the current local signer context.\n","tags":{"latest":"0.1.34"},"stats":{"comments":0,"downloads":818,"installsAllTime":1,"installsCurrent":1,"stars":0,"versions":34},"createdAt":1773635103678,"updatedAt":1778491936802},"latestVersion":{"version":"0.1.34","createdAt":1774969672618,"changelog":"Make predict-account + vault funding vault-first by default, keep Predict Account as trading identity, and align CLI/docs/tests with the vault deposit flow.","license":"MIT-0"},"metadata":{"setup":[{"key":"PREDICT_ENV","required":true},{"key":"PREDICT_WALLET_MODE","required":true},{"key":"PREDICT_API_KEY","required":true},{"key":"PREDICT_EOA_PRIVATE_KEY","required":true},{"key":"PREDICT_ACCOUNT_ADDRESS","required":true},{"key":"PREDICT_PRIVY_PRIVATE_KEY","required":true},{"key":"ERC_MANDATED_MCP_COMMAND","required":true},{"key":"ERC_MANDATED_VAULT_ADDRESS","required":true},{"key":"ERC_MANDATED_FACTORY_ADDRESS","required":true},{"key":"ERC_MANDATED_VAULT_ASSET_ADDRESS","required":true},{"key":"ERC_MANDATED_VAULT_AUTHORITY","required":true},{"key":"ERC_MANDATED_AUTHORITY_PRIVATE_KEY","required":true},{"key":"ERC_MANDATED_EXECUTOR_PRIVATE_KEY","required":true},{"key":"ERC_MANDATED_BOOTSTRAP_PRIVATE_KEY","required":true},{"key":"OPENROUTER_API_KEY","required":true}],"os":null,"systems":null},"owner":{"handle":"walioo","userId":"s17d6h9819863gn7bw5qjc6rgn83gwjv","displayName":"walioo","image":"https://avatars.githubusercontent.com/u/25835823?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780090211338}}