Coil Movers, Scored
Coil: an agentic trading bot you run yourself + a hosted AI stock scanner. Long-only, scores the market, buys leaders at support. Your broker, your keys.
The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.
Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.
Live 402 challenge
Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.
{
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"tag": "x402-global-challenge",
"name": "USD Coin",
"version": "2"
},
"payTo": "0x7B53524d5c5D29EfB8C1d128C56F62FE38Cd9476",
"amount": "5000",
"scheme": "exact",
"network": "base",
"mimeType": "application/json",
"resource": "https://coil.trade/api/board/movers",
"description": "Today's biggest movers, scored — the top gainers and losers across the S&P 500, Nasdaq-100 and macro book, each with the day's % change AND the Coil read: opportunity 0-100 + percentile, entry state (READY / WAIT / CHASE / FALLING), hold strength and overnight gap-risk score — so an agent can tell which moves are chaseable structure and which are falling knives. Refreshed ~5 min in market hours, timestamped. Research, not advice.",
"networkCaip2": "eip155:8453",
"maxAmountRequired": "5000",
"maxTimeoutSeconds": 3600
}
],
"cadence": {
"daily": "A fresh board every market morning, even when the market is shut.",
"crypto": "The BTC/ETH book is evaluated on UTC daily closes, every calendar day including weekends; the crypto product payloads (coil-crypto, coil-crypto-gate) stamp the close they were evaluated on (signal_close_date).",
"archive": "/api/board/asof is an immutable archive — one new date per session, never revised.",
"guidance": "Poll https://coil.trade/api/board/state — FREE and unlimited. It returns TWO independent hashes: state_hash (regime, ladder, candidate set — holds for hours) and day_hash (the intraday day-board map: every row's lights, entry window, late flag and overhead level — turns over through the session). Buy a paid read only when the hash for what YOU trade changes; unchanged means that slice is MATERIALLY unchanged (prices, %-moves and timestamps still tick, so bytes may differ; movers/leaders/topvol re-rank on price and are covered by neither). If you buy /api/board/day, watch day_hash — state_hash will not tell you the day map moved. Every paid response also carries freshness.next_refresh_at.",
"intraday": "Recomputed through the US market session on a ~5-minute tick. MEASURED over five sessions, successive publishes land a median of 6.5 minutes apart, 90% within ~12 minutes, occasionally ~15-18 (the tick alternates a full refetch with a lighter re-score, and it is best-effort, not an SLA). Poll the free state endpoint rather than a timer — every payload carries freshness."
},
"resource": {
"url": "https://coil.trade/api/board/movers",
"mimeType": "application/json",
"description": "Today's biggest movers, scored — the top gainers and losers across the S&P 500, Nasdaq-100 and macro book, each with the day's % change AND the Coil read: opportunity 0-100 + percentile, entry state (READY / WAIT / CHASE / FALLING), hold strength and overnight gap-risk score — so an agent can tell which moves are chaseable structure and which are falling knives. Refreshed ~5 min in market hours, timestamped. Research, not advice.",
"serviceName": "Coil Movers, Scored"
},
"freshness": {
"poll_hint": "Market closed — this board will NOT change until the next US session. Do not re-buy before next_refresh_at.",
"market_open": false,
"next_refresh_at": "2026-09-14T13:30:00.000Z",
"data_age_seconds": 37085
},
"alternates": {
"docs": "https://coil.trade/agents",
"note": "No wallet? These are free and need no payment, no account, and no key.",
"free_board": "https://coil.trade/api/board/free",
"free_preview": "https://coil.trade/api/board/agent?preview=1",
"human_checkout": "https://coil.trade/scanner",
"free_mcp_server": "https://coil.trade/mcp",
"free_mcp_install": "claude mcp add --transport http coil https://coil.trade/mcp",
"free_change_check": "https://coil.trade/api/board/state"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"losers": [
{
"sym": "TEL",
"name": "TE Connectivity",
"state": "falling",
"hold_q": 40,
"sector": "Information Technology",
"chg_pct": -7.6,
"opp_pct": 35,
"gap_risk": 30,
"gap_level": "ELEVATED"
}
],
"gainers": [
{
"sym": "SMCI",
"name": "Super Micro",
"state": "chase",
"hold_q": 61,
"sector": "Information Technology",
"chg_pct": 24.1,
"opp_pct": 88,
"gap_risk": 45,
"gap_level": "ELEVATED"
}
],
"product": "coil-movers",
"freshness": {
"poll_hint": "Market open — this board recomputes about every 5 minutes; polling faster returns the same payload.",
"market_open": true,
"next_refresh_at": "<ISO-8601 UTC — always present; do not re-buy before this>",
"data_age_seconds": 142
},
"asof_daily": "2026-07-22"
}
}
},
"tags": [
"top-gainers",
"top-losers",
"biggest-movers",
"stocks-moving-today",
"market-movers",
"sp500",
"trading",
"financial-data"
],
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"properties": {}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
},
"category": "financial-data",
"discoverable": true
},
"x402-merchant": {
"info": {
"logo": "https://coil.trade/assets/img/icon-512.png",
"name": "Coil",
"website": "https://coil.trade",
"categories": [
"market-data",
"trading-signals",
"crypto-signals",
"financial-data",
"stock-scanner",
"algorand",
"x402",
"x402-global-challenge"
]
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"logo": {
"type": "string"
},
"name": {
"type": "string"
},
"website": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"sign-in-with-x": {
"info": {
"uri": "https://coil.trade/api/board/movers",
"nonce": "f28300670f8778690ccf147cf6b6f119",
"domain": "coil.trade",
"version": "1",
"issuedAt": "2026-09-12T06:45:41.166Z",
"resources": [
"https://coil.trade/api/board/movers"
],
"statement": "Sign in to Coil - free-tier board access for this wallet (25 calls/day on regime, indices, movers, crypto gate, crypto night, tradfi-risk, hold state). This signature proves address control only; no funds move.",
"expirationTime": "2026-09-12T06:55:41.166Z"
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain",
"address",
"uri",
"version",
"chainId",
"type",
"nonce",
"issuedAt",
"signature"
],
"properties": {
"uri": {
"type": "string",
"format": "uri"
},
"type": {
"type": "string"
},
"nonce": {
"type": "string"
},
"domain": {
"type": "string"
},
"address": {
"type": "string"
},
"chainId": {
"type": "string"
},
"version": {
"type": "string"
},
"issuedAt": {
"type": "string",
"format": "date-time"
},
"notBefore": {
"type": "string",
"format": "date-time"
},
"requestId": {
"type": "string"
},
"resources": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
}
},
"signature": {
"type": "string"
},
"statement": {
"type": "string"
},
"expirationTime": {
"type": "string",
"format": "date-time"
}
}
},
"session": "one signed SIGN-IN-WITH-X header is a bearer session: replay it as-is across every free-tier endpoint until expirationTime (issuedAt + 10 min), then re-sign from any fresh 402. Quota: 25 served reads/day per address (tier.used_today in each 200); signing costs nothing and moves no funds.",
"supportedChains": [
{
"type": "eip191",
"chainId": "eip155:8453"
},
{
"type": "ed25519",
"chainId": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
}
]
}
},
"credibility": {
"signal_audit": {
"url": "https://coil.trade/api/board/signal-audit",
"what": "Every score we ever committed, marked to market: forward returns of the top-decile and READY cohorts vs the board median and a sector-matched ETF control, per committed day, with n in the same sentence. Recompute it yourself from /api/board/asof plus any free OHLCV source. Published even when negative."
},
"engine_record": {
"note": "Thin sample (46 sessions since 07-08). Engine-only and funding-adjusted; the v4 ledger reconciles 1:1 to the brokerage account. 1 session is held FLAT and not graded because the engine was not running (2026-08-18); 1 operator-placed trade is backed out by amount because the engine neither chose nor sized them; 2 further adjustments are backed out by amount (per-trade detail is deliberately not published); SPY and QQQ are unadjusted real returns over every session in the window. Percentages describe realized structure, not future returns.",
"as_of": "2026-09-10",
"window": "since inception",
"qqq_pct": -0.39,
"spy_pct": 1.67,
"sessions": 46,
"engine_pct": -0.54,
"reconcile_note": "Same record as https://coil.trade/api/perf — windows there are dated and session-counted; free MCP tools serve a one-day-older copy of the same block."
},
"what_the_proof_is": "Every published day is committed as a sha256 BEFORE the outcome is known, append-only, with a recipe that reproduces byte-identically in Python and JavaScript. You can check that today's scores were not edited after the fact.",
"verify_before_you_pay": {
"record": "https://coil.trade/api/perf",
"commitments": "https://coil.trade/api/board/proof",
"free_sample": "https://coil.trade/api/board/agent?preview=1",
"free_full_day": "https://coil.trade/api/board/asof?sample=1",
"free_full_day_note": "One complete committed day (~565 names), free — the oldest date in the append-only log, carrying the committed triple per name (opp_pct, entry_q, hold_q): exactly the fields the sha256 commits, not the full paid column set. Diff it against your own scanner. If your replica matches, don't pay us."
}
},
"other_rails": "Algorand (USDCa, fee-sponsored — zero ALGO needed; both CAIP-2 spellings served; Global x402 Challenge tagged) and Solana are in the base64 PAYMENT-REQUIRED header. Clients: @x402/avm, @x402/svm. Docs: https://coil.trade/agents",
"x402Version": 2
}Accepts
The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.
Pay 0.005 USDC on Base to 0x7B53…d9476. The signed payment is good for 1 hour.
- Paid to
- 0x7B53…d9476
- USD Coin contract
- 0x8335…02913
- Payment window
- 1 hour
- As published
- 5000 smallest units
That figure is in the token’s smallest units. Roundhouse does not hold this contract’s decimals, so it is shown as published rather than converted.
- Paid to
- LYIVIU…VTZM4
- Token contract
- 31566704
- Payment window
- 1 hour
That figure is in the token’s smallest units. Roundhouse does not hold this contract’s decimals, so it is shown as published rather than converted.
- Paid to
- LYIVIU…VTZM4
- Token contract
- 31566704
- Payment window
- 1 hour
That figure is in the token’s smallest units. Roundhouse does not hold this contract’s decimals, so it is shown as published rather than converted.
- Paid to
- 5HGara…6Ew2N
- Token contract
- EPjFWd…TDt1v
- Payment window
- 1 hour
Pay 0.005 USDC on Base to 0x7B53…d9476. The signed payment is good for 168 hours.
- Paid to
- 0x7B53…d9476
- USD Coin contract
- 0x8335…02913
- Payment window
- 168 hours
- As published
- 5000 smallest units
The catalog’s raw entry
[
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"tag": "x402-global-challenge",
"name": "USD Coin",
"version": "2"
},
"payTo": "0x7B53524d5c5D29EfB8C1d128C56F62FE38Cd9476",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 3600
},
{
"asset": "31566704",
"extra": {
"tag": "x402-global-challenge",
"name": "USDC",
"decimals": 6,
"feePayer": "ZMFK2OI7ZBD2U27ISERZC4S6LKM6WMFJPZQ4MYNJDZ2VNBNMBA67RA22AA"
},
"payTo": "LYIVIUSN3FAFIC2NUN6UYU2VN764U6YTCPTIX2O6EWYYU5WHAJHYMVTZM4",
"amount": "5000",
"scheme": "exact",
"network": "algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=",
"maxTimeoutSeconds": 3600
},
{
"asset": "31566704",
"extra": {
"tag": "x402-global-challenge",
"name": "USDC",
"decimals": 6,
"feePayer": "ZMFK2OI7ZBD2U27ISERZC4S6LKM6WMFJPZQ4MYNJDZ2VNBNMBA67RA22AA"
},
"payTo": "LYIVIUSN3FAFIC2NUN6UYU2VN764U6YTCPTIX2O6EWYYU5WHAJHYMVTZM4",
"amount": "5000",
"scheme": "exact",
"network": "algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73k",
"maxTimeoutSeconds": 3600
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"name": "USDC",
"decimals": 6,
"feePayer": "Hc3sdEAsCGQcpgfivywog9uwtk8gUBUZgsxdME1EJy88"
},
"payTo": "5HGarauHaGFynzwNBqLkKcQ4LFR4UCXKZE7bJuP6Ew2N",
"amount": "5000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 3600
},
{
"asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"extra": {
"name": "GatewayWalletBatched",
"version": "1",
"verifyingContract": "0x77777777dcc4d5a8b6e418fd04d8997ef11000ee"
},
"payTo": "0x7B53524d5c5D29EfB8C1d128C56F62FE38Cd9476",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 604800
}
]Extensions
{
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"losers": [
{
"sym": "TEL",
"name": "TE Connectivity",
"state": "falling",
"hold_q": 40,
"sector": "Information Technology",
"chg_pct": -7.6,
"opp_pct": 35,
"gap_risk": 30,
"gap_level": "ELEVATED"
}
],
"gainers": [
{
"sym": "SMCI",
"name": "Super Micro",
"state": "chase",
"hold_q": 61,
"sector": "Information Technology",
"chg_pct": 24.1,
"opp_pct": 88,
"gap_risk": 45,
"gap_level": "ELEVATED"
}
],
"product": "coil-movers",
"freshness": {
"poll_hint": "Market open — this board recomputes about every 5 minutes; polling faster returns the same payload.",
"market_open": true,
"next_refresh_at": "<ISO-8601 UTC — always present; do not re-buy before this>",
"data_age_seconds": 142
},
"asof_daily": "2026-07-22"
}
}
},
"tags": [
"top-gainers",
"top-losers",
"biggest-movers",
"stocks-moving-today",
"market-movers",
"sp500",
"trading",
"financial-data"
],
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"properties": {}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
},
"category": "financial-data",
"discoverable": true
},
"x402-merchant": {
"info": {
"logo": "https://coil.trade/assets/img/icon-512.png",
"name": "Coil",
"website": "https://coil.trade",
"categories": [
"market-data",
"trading-signals",
"crypto-signals",
"financial-data",
"stock-scanner",
"algorand",
"x402",
"x402-global-challenge"
]
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"logo": {
"type": "string"
},
"name": {
"type": "string"
},
"website": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"sign-in-with-x": {
"info": {
"uri": "https://coil.trade/api/board/movers",
"nonce": "9e2926531cf4358e414109b36acee38a",
"domain": "coil.trade",
"version": "1",
"issuedAt": "2026-09-12T14:30:34.662Z",
"resources": [
"https://coil.trade/api/board/movers"
],
"statement": "Sign in to Coil - free-tier board access for this wallet (25 calls/day on regime, indices, movers, crypto gate, crypto night, tradfi-risk, hold state). This signature proves address control only; no funds move.",
"expirationTime": "2026-09-12T14:40:34.662Z"
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain",
"address",
"uri",
"version",
"chainId",
"type",
"nonce",
"issuedAt",
"signature"
],
"properties": {
"uri": {
"type": "string",
"format": "uri"
},
"type": {
"type": "string"
},
"nonce": {
"type": "string"
},
"domain": {
"type": "string"
},
"address": {
"type": "string"
},
"chainId": {
"type": "string"
},
"version": {
"type": "string"
},
"issuedAt": {
"type": "string",
"format": "date-time"
},
"notBefore": {
"type": "string",
"format": "date-time"
},
"requestId": {
"type": "string"
},
"resources": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
}
},
"signature": {
"type": "string"
},
"statement": {
"type": "string"
},
"expirationTime": {
"type": "string",
"format": "date-time"
}
}
},
"session": "one signed SIGN-IN-WITH-X header is a bearer session: replay it as-is across every free-tier endpoint until expirationTime (issuedAt + 10 min), then re-sign from any fresh 402. Quota: 25 served reads/day per address (tier.used_today in each 200); signing costs nothing and moves no funds.",
"supportedChains": [
{
"type": "eip191",
"chainId": "eip155:8453"
},
{
"type": "ed25519",
"chainId": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
}
]
}
}Provenance
- Seen in the source catalog
- 2026-09-12 14:30Z
- Last indexed by Roundhouse
- 2026-09-24 07:20Z
- Last enriched (probe, favicon, geo)
- 2026-09-12 06:45Z
- x402 version
- 2
- Max timeout
- 3600s
- Liveness probe
- HTTP 402
Hand this page to an agent
Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.
GET api.roundhouseai.io/v0/endpoints
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 30 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.
Show the promptHide the prompt
Using Roundhouse, look up the x402 service Coil Movers, Scored and tell me whether it is worth paying: what a call costs, whether the endpoint answered when last probed, and what its payment record actually shows. curl -s 'https://api.roundhouseai.io/v0/endpoints?q=Coil%20Movers%2C%20Scored' curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>' Then call it: read the price from the live 402 at https://coil.trade/api/board/movers, never from a cached figure, and pay with an x402 client. The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except /v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402, or use an organization key from https://roundhouseai.io/dashboard/team. If you do not have Roundhouse tools or skills installed, read https://roundhouseai.io/skill.md first — it is the whole procedure.