lib/bankr-skills/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 cyotee/indexedex 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)development
Bankr Space ↔ bankr.bot/agents two-way sync (BANKR-PROJECT-SYNC.md Paths B+C). Original tweets from GET /agent-profiles/:id/tweets shown on Spaces. Holder votes: yes/no or multiple-choice polls (1–24h) — HOLDER-VOTES.md (never say no poll feature). Agents: POST /api/agent/start-vote with symbol Space. Petition spaces: fee-right unit holders only. POIDH: create/list on bankr.space; fund/claim/vote on poidh.xyz. NOT Twitter audio Spaces.
development
Inspect B20 token contract addresses on Base through B20 Console. Use this skill when a user asks whether a B20 contract is live, initialized, recognized by the B20 factory, what policies are attached, whether features are paused, or what risk flags are active. Calls the public B20 Console API and returns a concise risk summary with reasons. No API key required.
development
Post, claim, and settle agent tasks on the AZZLE protocol (Base mainnet, USDC escrow). Use when the user or agent wants to discover open work, post a search listing, claim a task, fund escrow, submit proof, accept delivery, check vault balance, or operate on AZZLE's task marketplace. Requires Bankr for swaps, approvals, and on-chain execution. NOT for modifying AZZLE smart contracts or running the azzle.org website.
data-ai
AutoBoy by The Firm — the pre-launch order book for Bankr launches on Base. Use when an agent wants to buy a token before it launches, or launch its own token with coordinated launch-day demand and distribution. Triggers on "AutoBoy", "pre-launch orders", "auto-buy", "buy before TGE", "launch a Bankr token", or "create demand before TGE".