Prediction Market Creator

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill matches its stated purpose, but it can automatically use a wallet private key to send blockchain transactions and publish markets without clear per-action approval or strong limits.

Only use this with a dedicated low-balance Base Sepolia test wallet and after reviewing the code. Do not reuse a valuable wallet private key. Before scheduling it, add or require a dry-run/confirmation step, verify the RPC network and contract address, cap deposits and gas, and review each generated market before it is published.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If run with a funded wallet or the wrong RPC network, the skill can spend funds or perform blockchain actions from that wallet.

Why it was flagged

The skill loads a wallet private key from the local environment and derives a signing account, giving it authority to transact from that wallet.

Skill content
PRIVATE_KEY = os.getenv("PRIVATE_KEY") ... account = w3.eth.account.from_key(PRIVATE_KEY)
Recommendation

Use only a fresh, low-balance testnet wallet; declare this credential clearly; verify the RPC chain ID and contract address; and require explicit user confirmation before signing transactions.

What this means

A generated market can be created and paid for without a human reviewing the specific question, duration, deposit, or chain before submission.

Why it was flagged

The skill builds, signs, and submits a payable blockchain transaction automatically, using the market duration selected by the model and a deposit amount read from the contract.

Skill content
tx = contract.functions.openNewMarket(duration_days).build_transaction({ ... 'value': min_deposit ... }) ... tx_hash = w3.eth.send_raw_transaction(signed_tx.raw_transaction)
Recommendation

Add a dry-run mode, per-market approval, strict duration and deposit caps, chain-ID validation for Base Sepolia, and clear rollback/failure handling before broadcasting transactions.

What this means

A malicious or manipulative post could influence the agent to create an inappropriate, misleading, or unwanted market.

Why it was flagged

Untrusted Twitter/X post text is inserted directly into the Claude prompt, and the model's JSON output is later used to create a market. The artifacts do not show prompt-injection defenses or independent validation of the generated proposal.

Skill content
prompt = f"""From these X posts: {json.dumps(tweets, default=str)} ... Pick a NEW debatable hot topic ... Return ONLY JSON"""
Recommendation

Treat tweets as untrusted data, add explicit instructions to ignore commands inside fetched content, validate all model fields against strict rules, and require human approval before publishing.

What this means

A scheduled run could repeatedly create markets and consume wallet funds or platform capacity until stopped.

Why it was flagged

The documentation encourages recurring autonomous execution. This is disclosed and aligned with the stated purpose, but it can continue creating markets and sending transactions if scheduled.

Skill content
Run it on a schedule (cron job) to continuously create new markets.
Recommendation

Use scheduling only with strong limits, monitoring, alerts, and a low-balance test wallet; consider requiring approval for each market even in scheduled mode.