name: agenticbets description: 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. metadata: { "clawdbot": { "emoji": "๐ฒ", "homepage": "https://agenticbets.dev", "requires": { "bins": ["python3", "bankr"] }, },
}
AgenticBets
Prediction markets on Base. Bet UP or DOWN on token prices with USDC.
When To Use
Use AgenticBets when the user wants to:
- Bet on whether a token price goes up or down (e.g., "bet $5 UP on AGBETS")
- Check prediction market odds (e.g., "what are the odds on AGBETS?")
- See which markets are open (e.g., "what prediction markets can I bet on?")
- Claim winnings from settled rounds
- Check their bet status or claimable winnings
Prerequisites
Bankr CLI
Install the Bankr CLI and log in to get an API key:
bun install -g @bankr/cli
# or: npm install -g @bankr/cli
Bankr API Key
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 user@example.com
# Step 2 โ verify and generate key with write access
bankr login email user@example.com --code 123456 --accept-terms --key-name "AgenticBets" --read-write
Option B: Web login
- Visit bankr.bot/api-keys
- Sign in with email + OTP
- Generate an API key with Wallet API write access enabled
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.
USDC Balance
Make sure your Bankr wallet has USDC on Base before betting. Check with:
bankr wallet portfolio
Quick Start
List Open Markets
What prediction markets are open on AgenticBets?
scripts/agenticbets.py list
Check Odds
What are the odds on AGBETS?
scripts/agenticbets.py odds AGBETS
Place a Bet
Bet $5 UP on AGBETS
scripts/agenticbets.py bet AGBETS up 5
Claim Winnings
Claim my AgenticBets winnings for AGBETS epoch 42
scripts/agenticbets.py claim AGBETS 42
Script Usage
agenticbets.py
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 |
How It Works
Prediction Market Flow
- A round opens for a token (e.g., $AGBETS)
- Users bet UP (bull โ price goes up) or DOWN (bear โ price goes down) with USDC
- Betting window closes (typically 5 minutes)
- Price is locked at close
- After the round duration, price is checked again
- If price went up โ bull wins. If down โ bear wins.
- Winners split the entire pool proportional to their bet size (minus 3% fee)
Transaction Flow (via Bankr Submit API)
All on-chain transactions go through the Bankr Wallet API:
- Script fetches market data from
GET https://agenticbets.dev/api/bankr/markets - Script gets wallet address from
GET https://api.bankr.bot/wallet/me - For bets:
- Approve USDC spend:
POST https://api.bankr.bot/wallet/submitwith ERC20approve()calldata - Place bet:
POST https://api.bankr.bot/wallet/submitwithbet()calldata
- Approve USDC spend:
- For claims:
POST https://api.bankr.bot/wallet/submitwithclaim()calldata - All transactions use
waitForConfirmation: trueand include a human-readabledescription
Bankr Submit API Reference
Endpoint: 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.
Contracts
| Contract | Address | Tokens |
|---|---|---|
| BankrBetsPrediction V1 | 0xABADeb002247f2bd908Eeedb32918aEc304A0233 |
CLAWD, MOLT, WCHAN |
| BankrBetsPrediction V2 | 0x2CD785Ba87e0841A8458141bc43d23a56a00557f |
AGBETS |
| USDC (Base) | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
6 decimals |
Contract Functions
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)- Selector:
0x37a02e62
claim(address _token, uint256[] _epochs)
_tokenโ token contract address_epochsโ array of epoch numbers to claim- Selector:
0x45718278
claimable(address _token, uint256 _epoch, address _user) -> bool
- Returns true if the user has unclaimed winnings for that epoch
- Selector:
0xd3c035fc
USDC Approval
Before betting, the script approves USDC spend on the prediction contract:
ERC20.approve(predictionContractAddress, betAmount)
- Selector:
0x095ea7b3
Token Addresses
| 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.
Markets API
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.nullif not open.poolUsdcโ total USDC in the round poolbullPct/bearPctโ current odds splitpredictionContractโ which contract to call for this token
Strategy Tips
- Check odds before betting. If 90% of the pool is on one side, the other side pays ~10x if it wins.
- Pool size matters. Larger pools = more reliable odds. Small pools can swing wildly with one bet.
- Time your bet. Betting late (< 30s to lock) lets you see the final odds but risks missing the window.
- Minimum bet is $1 USDC. No maximum.
- Check balance first. Make sure you have enough USDC on Base before betting (
bankr wallet portfolio).
Examples
User: "What prediction markets can I bet on?"
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
User: "Bet $10 on AGBETS going up"
scripts/agenticbets.py bet AGBETS up 10
Steps:
- Fetch market data โ get token address + prediction contract
- Approve USDC via Bankr Submit:
ERC20.approve(0x2CD785..., 10000000) - Place bet via Bankr Submit:
BankrBetsPrediction.bet(0x37d183..., 10000000, 0) - Return tx hashes
User: "Do I have any claimable winnings?"
scripts/agenticbets.py claimable AGBETS 5
Calls claimable(token, epoch, walletAddress) โ returns true/false.
User: "Claim my AGBETS winnings from epoch 5"
scripts/agenticbets.py claim AGBETS 5
Steps:
- Call
claim(0x37d183..., [5])via Bankr Submit - Return tx hash
References
- references/agent-usage.md โ Full agent guide: intent mapping, example conversations, pre-flight checks, error recovery, Markets API schema, and contract reference (calldata encoding, fees, round lifecycle)
Resources
- Website: https://agenticbets.dev
- Telegram Alerts: https://t.me/agenticbets
- GitHub: https://github.com/viraj124/agentic-bets
- MCP Server:
npx agenticbets-mcp(for Claude/Cursor users)