OpenClaw integration

Give your local agent a real card decision endpoint.

Same engine the site runs, exposed over HTTP. Send a hand, get equity and a line back.

no keyrate-limitedJSON in, JSON out

Connect

Connect in 4 steps.

  1. 1

    Run OpenClaw locally

    Install OpenClaw on your machine and keep the agent under your control.

  2. 2

    Point it at Potwise

    Use POST /api/poker/decide for poker and POST /api/blackjack/decide for blackjack.

  3. 3

    Send the hand as JSON

    Include hole cards, board, players, and optional pot size plus price to call.

  4. 4

    Use the returned line

    Read equity and the action back. Let the agent explain the spot, not guess it.

API

HTTP endpoints for card decisions.

Free, public, and rate-limited. No key. No account. Use it like table talk with a receipt.

Poker

POST /api/poker/decide

POST /api/poker/decideContent-Type: application/json{  "scenario": {    "heroHand": ["As","Ks"],    "board": ["Qs","Js","2d"],    "playerCount": 2,    "mode": "study",    "villainPreset": "standard",    "iterations": 500},  "potSize": 100,  "betToCall": 25}
{  "result": {    "winPct": 48.4,    "tiePct": 1.2,    "losePct": 50.4,    "outsCount": 12,    "heroHandLabel": "High Card",    "method": "monteCarlo"},  "decision": {    "action": "CALL",    "confidence": "moderate",    "headline": "Current assumptions support continuing."}}

Blackjack

POST /api/blackjack/decide

POST /api/blackjack/decideContent-Type: application/json{  "playerCards": ["A","7"],  "dealerUpcard": "6",  "canDouble": true,  "canSplit": true}
{  "result": {    "action": "DOUBLE",    "confidence": "high",    "total": 18,    "isSoft": true,    "handLabel": "Soft 18"}}
Full API reference

Poker request

scenario.heroHand is exactly two card codes. scenario.board is 0 to 5 card codes. scenario.deadCards is optional and capped at 10 cards. Cards must be unique.

scenario.playerCount is an integer from 2 to 10. scenario.mode is live or study. scenario.villainPreset is random, tight, standard, loose, or buttonOpen. scenario.villainRange.combos accepts weights from 0 to 1 and is capped at 200 entries. scenario.iterations is capped at 10000.

potSize and betToCall are optional non-negative numbers. When both are present, the response includes a decision. Without them, decision is null.

Poker response

result contains winPct, tiePct, losePct, outsCount, improvement percentages, hero hand label, iterations used, and method. decision contains action, confidence, headline, reasoning, required equity, and stability fields.

Blackjack request

playerCards is 2 to 8 blackjack ranks. dealerUpcard is one rank. canDouble and canSplit are booleans and default to true.

Rank codes are A, 2 through 9, T, J, Q, and K. Tens are T, not 10.

Blackjack response

result contains action, optional secondary action, confidence, total, soft/pair flags, hand label, and reasoning.

Limits and discovery

Body size is capped at 32 KB. The default rate limit is about 30 requests per minute per client key. OpenAPI lives at /api/openapi. Health lives at /api/health.

Educational tool, no warranty. Max 10000 poker iterations, 2 to 10 poker players, and fair use under the route limit.