Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

TBD Prediction Market Agent

v1.0.0

Prediction market for crypto, sports, politics, and culture

0· 72·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for coreyjoshuamiller/tbd-agent.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "TBD Prediction Market Agent" (coreyjoshuamiller/tbd-agent) from ClawHub.
Skill page: https://clawhub.ai/coreyjoshuamiller/tbd-agent
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install tbd-agent

ClawHub CLI

Package manager switcher

npx clawhub@latest install tbd-agent
Security Scan
Capability signals
CryptoRequires wallet
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The name/description (prediction market agent) align with the instructions (install a tbd-vote CLI, browse campaigns, place bets). However the SKILL.md references local config (~/.tbd/STRATEGY.md) and an API-key based auth flow without declaring required config paths or environment variables in the registry metadata, which is an omission.
!
Instruction Scope
Runtime instructions tell the agent to install and run a third-party CLI and to perform an 'autonomous loop' that checks balance, browses campaigns, analyzes, and places bets. The guide explicitly says 'do not run the login command yourself' (ask the user to do it) but still expects the agent to run commands that depend on stored credentials, and it instructs reading ~/.tbd/STRATEGY.md. The skill thus expects access to user-local credentials/config and permission to spend USDC — actions that have direct financial impact but are not scoped or constrained in the metadata or instructions.
Install Mechanism
There is no formal install spec in the registry entry; instead SKILL.md instructs a global npm install (npm install -g @tbd-vote/cli). Installing a third-party npm package is a moderate-risk action because npm packages can run arbitrary code; the package org (@tbd-vote) and its provenance are not verified in the metadata. This is an instruction-only skill, so nothing is written by the registry itself, but the agent (if allowed) could execute that npm command.
!
Credentials
Registry metadata declares no required env vars or config paths, yet the skill header in SKILL.md shows auth_method: api_key and auth_prefix: 'tbd_api_', and the instructions rely on a stored API key and possibly wallet/signing to place USDC bets. The lack of declared credential/config requirements is an inconsistency: the skill requires sensitive local secrets/config to operate but does not advertise them, making it unclear what the agent will access or require.
Persistence & Privilege
always is false and there is no claim the skill modifies other skills or system-wide settings. The skill expects autonomous invocation (default), which would let an agent run the autonomous betting loop; that capability combined with the financial actions described increases risk but is not an exceptional privilege by itself.
What to consider before installing
This skill will direct the agent to install and run an unverified npm CLI and to interact with your local API key/wallet to place USDC bets. Before installing or enabling autonomous use: 1) Review the @tbd-vote CLI source (npm page/GitHub) to verify authorship and what the CLI does; 2) Do not allow the agent to run login or commands that spend funds without explicit, per-action confirmation; 3) Be aware the skill expects/read files in your home (~/.tbd/STRATEGY.md) and stored credentials (API key/wallet) even though none are declared in metadata; 4) If you plan to use this, prefer manual control for authentication and for placing bets, or restrict the agent so it cannot execute commands that transfer funds. If you want a stronger assessment, provide the @tbd-vote package repo or the CLI code for review.

Like a lobster shell, security has layers — review code before you run it.

latestvk978w7n5xbr493cwd6hxq40mdd84c36w
72downloads
0stars
1versions
Updated 2w ago
v1.0.0
MIT-0

TBD — Agent Guide

TBD is a prediction market where you can browse campaigns and place bets using USDC. This guide helps AI agents get started programmatically.

Quick Start

1. Install the CLI

npm install -g @tbd-vote/cli

2. Authenticate

Important: Do not run the login command yourself. Ask the user to run it in their own terminal:

tbd-vote login

This starts an interactive flow that walks the user through getting an API key from https://tbd.vote and pasting it in.

3. Place your first bet

# Check your balance
tbd-vote balance --json

# Browse campaigns ending soonest
tbd-vote campaigns list --json --filter ending --limit 10

# Pick a campaign and place a bet
tbd-vote bet <campaign-id> <option-id>

CLI Reference

All commands support --json for machine-readable output. Errors go to stderr, data to stdout.

Authentication

tbd-vote login                    # Interactive API key setup
tbd-vote login --key <key>        # Non-interactive
tbd-vote auth status              # Check if authenticated
tbd-vote auth logout              # Remove stored API key

Strategy

tbd-vote strategy                 # View current strategy file
tbd-vote strategy init            # Create starter STRATEGY.md template
tbd-vote strategy init --force    # Overwrite existing strategy file

Balance

tbd-vote balance              # Check USDC wallet balance
tbd-vote balance --json       # { "balance": 12.50 }

Configuration

tbd-vote config set bet-size 2.50       # Set default bet amount
tbd-vote config get bet-size            # Get a config value
tbd-vote config list                    # Show all config
KeyDefaultDescription
api-urlhttps://production-tbd-bets-api.tbd.voteAPI base URL
bet-size1.00Default bet amount (USDC)
default-statusopenDefault status filter
default-limit20Default page size
max-bet-per-campaign20.00Max USDC to spend on a single campaign

Browsing Campaigns

tbd-vote campaigns list --json --limit 20                # All open campaigns (newest first)
tbd-vote campaigns list --json --status open --limit 10 # Filtered
tbd-vote campaigns list --json --filter ending          # Soonest ending first
tbd-vote campaigns list --json --filter trending        # Trending campaigns
tbd-vote campaigns list --json --cursor <cursor>        # Pagination
tbd-vote campaigns get <campaign-id> --json             # Campaign detail

Sort order: Default is newest first (--filter new). Use --filter ending to sort by soonest ending time.

Placing Bets

tbd-vote bet <campaign-id> <option-id>        # Uses configured bet-size
tbd-vote bet <campaign-id> <option-id> 5.00   # Override amount
tbd-vote bet <campaign-id> <option-id> --json # JSON response

Response:

{
  "txSignature": "5xYz...abc",
  "campaignId": 123,
  "campaignTitle": "Will BTC hit $200k by July?",
  "optionId": 2,
  "optionTitle": "Yes",
  "amount": 1.00
}

Autonomous Loop Instructions

┌──────────────────────────────────────────────────────────────────┐
│ INSTALL (one-time)                                               │
│                                                                  │
│  npm install -g @tbd-vote/cli                                    │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘
                               │
                               ▼
┌──────────────────────────────────────────────────────────────────┐
│ CONFIGURE (one-time)                                             │
│                                                                  │
│  tbd-vote login                                                  │
│  tbd-vote config set bet-size 2.50    (optional, default 1.00)   │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘
                               │
                               ▼
┌──────────────────────────────────────────────────────────────────┐
│ AUTONOMOUS LOOP (agent-orchestrated)                             │
│                                                                  │
│  ┌────────────────────────────────────────────────────────────┐  │
│  │                                                            │  │
│  │  1. BALANCE                                                │  │
│  │     tbd-vote balance --json                                │  │
│  │     → if balance < bet-size, skip or reduce amount         │  │
│  │                                                            │  │
│  │  2. BROWSE                                                 │  │
│  │     tbd-vote campaigns list --json --status open           │  │
│  │     Filters: --filter ending  (soonest first)              │  │
│  │              --filter trending (most activity)              │  │
│  │              --filter new     (newest, default)             │  │
│  │              --category <cat>                               │  │
│  │                                                            │  │
│  │  3. ANALYZE                                                │  │
│  │     Read campaign data, evaluate odds, pick a bet          │  │
│  │     Read ~/.tbd/STRATEGY.md for context if present         │  │
│  │     (this step is agent logic, not a CLI command)          │  │
│  │                                                            │  │
│  │  4. BET                                                    │  │
│  │     tbd-vote bet <campaign-id> <option-id>                 │  │
│  │     (uses configured bet-size, or pass amount override)    │  │
│  │                                                            │  │
│  │  5. REPEAT                                                 │  │
│  │     Loop back to step 1                                    │  │
│  │                                                            │  │
│  └────────────────────────────────────────────────────────────┘  │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘

Example session:

# Step 1: Check balance
tbd-vote balance --json

# Step 2: Get open campaigns
tbd-vote campaigns list --json --status open --limit 10

# Step 3: Agent analyzes the response and picks a campaign
# (this is your logic — evaluate odds, check userBets to avoid duplicates)

# Step 4: Place a bet
tbd-vote bet 123 2

# Step 5: Wait, then repeat

Tips:

  • Check userBets in campaign responses to avoid duplicate bets
  • Respect rate limits: 60 reads+balance/min (shared), 10 bets/min
  • Sleep between requests when looping (e.g., 2-5 seconds)
  • Use tbd-vote auth status to verify connectivity before starting

Raw HTTP Fallback

For agents that cannot install npm packages, use the API directly:

List campaigns

curl -H "Authorization: Bearer tbd_api_<key>" \
  "https://production-tbd-bets-api.tbd.vote/agents/campaigns?status=open&limit=5"

Get campaign detail

curl -H "Authorization: Bearer tbd_api_<key>" \
  "https://production-tbd-bets-api.tbd.vote/agents/campaigns/<campaign-id>"

Check balance

curl -H "Authorization: Bearer tbd_api_<key>" \
  "https://production-tbd-bets-api.tbd.vote/agents/balance"

Place a bet

curl -X POST \
  -H "Authorization: Bearer tbd_api_<key>" \
  -H "Content-Type: application/json" \
  -d '{"campaign_id":<id>,"option_id":<option-id>,"amount":1.00}' \
  "https://production-tbd-bets-api.tbd.vote/agents/txns/place-bet"

Error Reference

CodeHTTP StatusMessageResolution
NO_API_KEY-No API key configuredRun tbd-vote login
INVALID_API_KEY401Invalid API keyGenerate a new key at https://tbd.vote/login
RATE_LIMITED429Rate limitedWait for Retry-After seconds
CAMPAIGN_NOT_FOUND404Campaign not foundCheck the campaign ID
INVALID_OPTION400Invalid option for campaignCheck available options via campaigns get
INSUFFICIENT_BALANCE400Insufficient USDC balanceFund your wallet at https://tbd.vote
NETWORK_ERROR-Could not reach APICheck network connectivity and api-url config

Tips for AI Agents

  • Always use --json for structured, parseable output
  • Check userBets in campaign responses before betting to avoid duplicates
  • Respect rate limits — sleep between requests if looping
  • Use tbd-vote auth status to verify connectivity before starting a loop
  • Store bet results (txSignature) for portfolio tracking
  • Configure bet-size to control default wager amount
  • The CLI enforces max-bet-per-campaign (default 20 USDC) — total spend across all options on one campaign
  • Use --limit and --cursor for efficient pagination

Strategy Customization

A strategy file (~/.tbd/STRATEGY.md) is automatically created during tbd-vote login. It guides how you analyze campaigns and pick options.

tbd-vote strategy --json    # Read current strategy

To reset to defaults: tbd-vote strategy init --force

Edit ~/.tbd/STRATEGY.md to customize your approach. Here are some ideas:

Focus on specific categories:

## Focus
Only bet on crypto and politics campaigns. Skip sports and entertainment.

Adjust confidence threshold:

## Picking a Winner
Only bet when confidence is high. Skip low and medium confidence opportunities.

Set a persona:

## Personality
You are a contrarian. Look for options the crowd is undervaluing.
When the majority leans one way, seriously consider the other side.

Add domain knowledge:

## Domain Knowledge
- Bitcoin tends to rally in Q4 historically
- Incumbents win re-election ~70% of the time
- Weight recent polling data heavily for political markets

Be more selective:

## What to Avoid
- Any campaign with fewer than 2 days remaining
- Markets where the top option has >90% odds (no value)
- Topics outside crypto, politics, and tech

Comments

Loading comments...