Prepare or run a polished BlockRun trading demo that discovers a current Polymarket market, combines live price, probability history, smart-money, and liquidity evidence into a balanced signal, produces a real order dry-run, and verifies orders or positions. Use for live demos, signal-to-trade workflows, current crypto prediction markets, or when an agent must decide whether a candidate is safe and presentable before trading.
Scanned 8/31/2026
Install to Claude Code
npx -y skills add BlockRunAI/blockrun-mcp --skill signal-to-trade-demo --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Signal To Trade Demo?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/blockrunai-signal-to-trade-demo)More formats (shields.io, HTML) on the badges page.
---
name: signal-to-trade-demo
description: Prepare or run a polished BlockRun trading demo that discovers a current Polymarket market, combines live price, probability history, smart-money, and liquidity evidence into a balanced signal, produces a real order dry-run, and verifies orders or positions. Use for live demos, signal-to-trade workflows, current crypto prediction markets, or when an agent must decide whether a candidate is safe and presentable before trading.
---
# Signal-to-Trade Demo
Run one reproducible chain: discover → verify → analyze → preview → inspect.
Treat signals as evidence, never as a promise of profit. Never expose a wallet,
credential, order ID, or transaction hash in presentation output.
Read [references/demo-cases.md](references/demo-cases.md) when selecting a case
or preparing a fallback.
## Hard safety contract
1. In a presentation dry-run, do not call wallet, setup, positions, orders, or
resources. Those responses can contain wallet-derived identifiers before the
final answer is redacted. The presenter performs account readiness privately
before screen sharing.
2. If the current egress is blocked, never call a funds-affecting action with
`confirm:true`. Continue with live data and a dry-run order preview only.
A Stanford/US presentation is always dry-run mode.
3. Always preview through `blockrun_polymarket_read` `action:"preview"`. It has
no confirmation input and cannot sign or submit an order. A real order requires the
user's explicit approval of the exact market, outcome, amount, price/type,
and current region eligibility.
4. Choose the smallest whole-dollar preview from $1–$5 that satisfies the live
`min_order_size` and book depth. Never present a smaller, non-executable
preview as valid. Do not split orders to bypass caps.
5. Paid market-data calls may run in parallel on Base. On Solana keep
`@blockrun/llm` >= 3.8.4, which is what makes concurrent payments distinct.
## 1. Private operator preflight
- Confirm the Trading profile exposes nine tools and no image/video/media tool:
wallet, price, dex, markets, surf, defi, rpc, polymarket_read, polymarket.
- Before screen sharing, the human operator may check `blockrun_wallet`, run
setup, and inspect positions/orders. Never include those raw calls in the
presentation conversation.
- For the live dry-run conversation, begin directly with public market
discovery. No account state is required to preview a CLOB order.
## 2. Discover a current market
Use a dynamic search rather than a hard-coded condition or token ID:
```text
blockrun_markets {
path: "markets/search",
params: { q: "Bitcoin", status: "open", venue: "polymarket", limit: "20" }
}
```
`markets/search` is the discovery path for a demo — it ranks across venues in
one call. Do not automatically select the first `polymarket/crypto-updown` result because
that feed can contain future placeholders with no liquidity. Rank candidates by:
- open status and a future close time;
- an unambiguous resolution source and threshold;
- non-zero 24-hour volume and trade count;
- a valid condition ID plus outcome token IDs;
- an outcome price away from 0 and 1;
- a live order preview that finds a usable book.
Resolve the selected market using `polymarket/markets/keyset` with
`condition_id`, `status:"open"`, and a small `limit`. Do not invent Gamma-only
parameters such as `active`, `closed`, `order`, or `ascending`; the MCP rejects
those before payment. Predexon's own `search`, `sort`, `end_after`, and
`end_before` filters are supported on that endpoint.
## 3. Collect evidence sequentially
Use four independent lenses where the market supports them:
1. **Underlying:** get current BTC/USD with `blockrun_price`, then compute the
exact percentage move required to reach the market threshold before expiry.
2. **Probability trend:** query the selected Yes token:
```text
blockrun_markets {
path: "polymarket/candlesticks/token/<TOKEN_ID>",
params: { interval: "1440", start_time: "<UNIX_SECONDS>", end_time: "<UNIX_SECONDS>" }
}
```
`interval` is integer minutes (`1440`, not `1h`) and is optional. `60` was
observed returning a paid 400 where `1440` worked; `start_time` and
`end_time` are Unix seconds.
3. **Smart money:** use a meaningful cohort:
```text
blockrun_markets {
path: "polymarket/market/<CONDITION_ID>/smart-money",
params: { window: "30d", min_trades: "100" }
}
```
Report wallet count, net-buyer share, volume, and aggregate PnL. A high buyer
share with negative PnL is mixed evidence, not automatically bullish.
4. **Liquidity/history:** query historical orderbooks with `token_id`,
`start_time`, and `end_time` in Unix milliseconds. The order dry-run is the
authoritative live fillability check.
Record the timestamp and data source for every observation. If a source fails,
label it unavailable and continue; never manufacture a value.
## 4. Build the signal
Present an evidence table with these columns:
| Source | Observation | Supports | Reliability |
|---|---|---|---|
| Spot vs threshold | Exact distance and time remaining | Yes/No/Mixed | High |
| Market trend | Probability change over a fixed window | Yes/No/Mixed | Medium |
| Smart-money cohort | Buyer share, volume, PnL | Yes/No/Mixed | Medium |
| Book/liquidity | Spread, available size, 24h activity | Executable/Thin | High |
Then state:
- one-sentence thesis;
- strongest counterevidence;
- confidence (`low`, `medium`, or `high`) with a reason;
- proposed side and the smallest executable whole-dollar preview from $1–$5,
or `NO TRADE` when gates fail.
Do not describe the result as financial advice or a guaranteed “good signal.”
## 5. Preview and verify
Preview through the dedicated non-destructive action:
```text
blockrun_polymarket_read {
action: "preview",
side: "buy",
token_id: "<TOKEN_ID>",
amount_usd: <SMALLEST_WHOLE_DOLLAR_FROM_1_TO_5_THAT_MEETS_MIN_SIZE>,
order_type: "FOK"
}
```
Show the outcome, live best ask, estimated shares, max cost, and the explicit
line `DRY RUN — no order signed or submitted`.
If the user explicitly approves a real order and the region is permitted,
repeat the exact economics with `blockrun_polymarket` action `buy`/`sell` and
`confirm:true`, then use
`blockrun_polymarket_read` to inspect positions and open orders. Redact all
identifiers. If a FOK does not fill, report it honestly; do not silently switch
to FAK or raise the price.
## Presentation output
End with a compact slide-ready block:
```text
LIVE SIGNAL SNAPSHOT — <UTC timestamp>
Market: <question> | Implied probability: <p>
Underlying: <spot> | Required move: <x%> | Time left: <duration>
Trend: <change> | Smart money: <buyer share + PnL caveat>
Liquidity: <spread/activity>
Verdict: <side or NO TRADE> | Confidence: <level>
Order: $<amount> <side> preview | DRY RUN / SUBMITTED
Safety: local signing, capped notional, IDs redacted
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!