agenticbets/SKILL.md
Place prediction bets on token prices on Base via AgenticBets. Use when the user wants to bet UP or DOWN on whether a token price will go up or down, check prediction market odds, view open betting rounds, or claim winnings from settled rounds. Supports all tokens with active markets on AgenticBets (AGBETS, CLAWD, MOLT, WCHAN, and more). Uses Bankr Submit API to execute bet and claim transactions on Base.
npx skillsauth add bankrbot/openclaw-skills agenticbetsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Prediction markets on Base. Bet UP or DOWN on token prices with USDC.
Use AgenticBets when the user wants to:
Install the Bankr CLI and log in to get an API key:
bun install -g @bankr/cli
# or: npm install -g @bankr/cli
The scripts read the API key from ~/.bankr/config.json (or $BANKR_CONFIG if set).
Option A: CLI login (recommended)
# Step 1 — send OTP
bankr login email [email protected]
# Step 2 — verify and generate key with write access
bankr login email [email protected] --code 123456 --accept-terms --key-name "AgenticBets" --read-write
Option B: Web login
The API key must have write access (walletApiEnabled, not readOnly) to place bets and claim winnings. Read-only keys can still list markets and check odds.
Make sure your Bankr wallet has USDC on Base before betting. Check with:
bankr wallet portfolio
What prediction markets are open on AgenticBets?
scripts/agenticbets.py list
What are the odds on AGBETS?
scripts/agenticbets.py odds AGBETS
Bet $5 UP on AGBETS
scripts/agenticbets.py bet AGBETS up 5
Claim my AgenticBets winnings for AGBETS epoch 42
scripts/agenticbets.py claim AGBETS 42
Single script that handles all AgenticBets operations. Reads and writes use the Bankr Wallet API.
scripts/agenticbets.py <command> [args...]
Commands:
| Command | Args | Description |
|---|---|---|
| list | [status] | List markets. Status: all, open, locked, settled (default: open) |
| odds | <symbol> | Show bull/bear odds and pool size for a market |
| info | <symbol> | Detailed market info including contract, epoch, time to lock |
| bet | <symbol> <up\|down> <amount> | Place a bet. Amount in USDC (e.g., 5 for $5) |
| claim | <symbol> <epoch> [epoch...] | Claim winnings for settled epochs |
| claimable | <symbol> <epoch> | Check if an epoch is claimable |
Environment:
| Variable | Default | Description |
|---|---|---|
| BANKR_CONFIG | ~/.bankr/config.json | Path to Bankr config file containing apiKey |
All on-chain transactions go through the Bankr Wallet API:
GET https://agenticbets.dev/api/bankr/marketsGET https://api.bankr.bot/wallet/mePOST https://api.bankr.bot/wallet/submit with ERC20 approve() calldataPOST https://api.bankr.bot/wallet/submit with bet() calldataPOST https://api.bankr.bot/wallet/submit with claim() calldatawaitForConfirmation: true and include a human-readable descriptionEndpoint: POST https://api.bankr.bot/wallet/submit
Headers:
X-API-Key: bk_YOUR_API_KEY
Content-Type: application/json
Request body:
{
"transaction": {
"to": "0xContractAddress",
"chainId": 8453,
"data": "0xCalldata...",
"value": "0"
},
"description": "Place $5 UP bet on AGBETS",
"waitForConfirmation": true
}
Success response:
{
"success": true,
"transactionHash": "0x...",
"status": "success",
"blockNumber": "12345678",
"signer": "0xYourWalletAddress",
"chainId": 8453
}
Wallet info: GET https://api.bankr.bot/wallet/me returns the wallet address and supported chains.
| Contract | Address | Tokens |
|---|---|---|
| BankrBetsPrediction V1 | 0xABADeb002247f2bd908Eeedb32918aEc304A0233 | CLAWD, MOLT, WCHAN |
| BankrBetsPrediction V2 | 0x2CD785Ba87e0841A8458141bc43d23a56a00557f | AGBETS |
| USDC (Base) | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 6 decimals |
bet(address _token, uint256 _amount, uint8 _position)
_token — token contract address_amount — USDC amount in raw units (multiply by 1e6)_position — 0 = Bull (UP), 1 = Bear (DOWN)0x37a02e62claim(address _token, uint256[] _epochs)
_token — token contract address_epochs — array of epoch numbers to claim0x45718278claimable(address _token, uint256 _epoch, address _user) -> bool
0xd3c035fcBefore betting, the script approves USDC spend on the prediction contract:
ERC20.approve(predictionContractAddress, betAmount)
0x095ea7b3| Token | Address | Prediction Contract |
|---|---|---|
| AGBETS | 0x37d183FCf1DA460a64D21E754b3E6144C4e11BA3 | V2 (0x2CD785...) |
| All others | Varies (from API) | V1 (0xABADeb...) |
Use the /api/bankr/markets endpoint to get current token addresses — don't hardcode.
GET https://agenticbets.dev/api/bankr/markets
Returns:
{
"markets": [
{
"token": "0x37d183FCf1DA460a64D21E754b3E6144C4e11BA3",
"symbol": "AGBETS",
"marketUrl": "https://agenticbets.dev/market#...",
"poolUsdc": 42.50,
"bullPct": 61.0,
"bearPct": 39.0,
"lockTimestamp": 1713100000,
"secondsToLock": 83,
"predictionContract": "0x2CD785Ba87e0841A8458141bc43d23a56a00557f",
"status": "open",
"epoch": "5",
"poolAddress": "0x...",
"creator": "0x...",
"createdAt": 1700000000,
"contractVersion": "v2"
}
],
"count": 4,
"updatedAt": "2026-04-14T12:00:00.000Z"
}
Key fields:
status — "open" (accepting bets), "locked" (waiting for settlement), "settled" (done)secondsToLock — seconds until betting closes. null if not open.poolUsdc — total USDC in the round poolbullPct / bearPct — current odds splitpredictionContract — which contract to call for this tokenbankr wallet portfolio).scripts/agenticbets.py list open
Response format:
Open Markets:
$AGBETS — Pool: $42.50 | UP: 61% DOWN: 39% | Closes in 83s
$CLAWD — Pool: $18.00 | UP: 50% DOWN: 50% | Closes in 210s
scripts/agenticbets.py bet AGBETS up 10
Steps:
ERC20.approve(0x2CD785..., 10000000)BankrBetsPrediction.bet(0x37d183..., 10000000, 0)scripts/agenticbets.py claimable AGBETS 5
Calls claimable(token, epoch, walletAddress) — returns true/false.
scripts/agenticbets.py claim AGBETS 5
Steps:
claim(0x37d183..., [5]) via Bankr Submitnpx agenticbets-mcp (for Claude/Cursor users)data-ai
Claim and withdraw payments from Metr (metrpay.com) merchant account.
development
AI-powered crypto trading agent, wallet API, and LLM gateway via natural language. Use when the user wants to trade crypto, trade tokenized stocks and ETFs (spot or leveraged), check portfolio balances (with PnL and NFTs), view token prices, search tokens, transfer crypto, manage NFTs, use leverage (Hyperliquid or Avantis), bet on Polymarket, deploy tokens, set up automated trading, sign and submit raw transactions, call or deploy x402 paid API endpoints, browse the web, or access LLM models through the Bankr LLM gateway funded by your Bankr wallet. Supports Base, Ethereum, Polygon, Solana, Unichain, World Chain, Arbitrum, BNB Chain, and Robinhood Chain.
testing
Urizen — an AI equity-research desk + the first autonomous fund on Robinhood Chain (4663), as an agent skill. Real charts & technicals for any tokenized US stock, SEC fundamentals + filings + insider activity, Wall Street analyst consensus, financial news, the macro calendar (Fed/CPI/jobs), live prediction-market odds, and on-chain price — plus the fund's live strategies, book, execution tape, and one-token exposure via $URI. Public, key-less, CORS-open REST on chain 4663. Triggers on: "urizen", "research a stock", "tokenized stock", "SEC fundamentals", "analyst rating", "economic calendar", "prediction market odds", "copy trade the fund", "urizen book", "buy $URI".
development
List tokens on CoinHero via consignment deals on Base — deposit ERC-20 inventory, earn USDC when the protocol buys your token for CoinHero card games. Use when a wallet-enabled agent wants to consign a Base ERC-20 token, check deal performance, or withdraw earnings. Requires a CoinHero dashboard API key and a wallet (EOA) on Base mainnet with at least $50 USD worth of the token to deposit.