agent-marketInteract with the AgentMarket protocol on Base Sepolia to create, trade, provide liquidity, and resolve USDC-settled YES/NO prediction markets.
Install via ClawdBot CLI:
clawdbot install humanjesse/agent-marketInteract with the AgentMarket prediction market protocol on Base Sepolia. Create markets, trade YES/NO positions, provide liquidity, and resolve outcomes — all settled in USDC.
Source code & docs: https://github.com/humanjesse/AgentMarket
| Contract | Address |
|----------|---------|
| MarketFactory | 0xDd553bb9dfbB3F4aa3eA9509bd58386207c98598 |
| USDC | 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
The MarketFactory is the single entry point. It deploys all child contracts (Market, AMM, Oracle, position tokens) when you create a market. You only need the factory address to get started.
Required environment variables:
AGENT_MARKET_FACTORY_ADDRESS: The deployed MarketFactory contract address (default: 0xDd553bb9dfbB3F4aa3eA9509bd58386207c98598)USDC_ADDRESS: USDC token address on the network (default: 0x036CbD53842c5426634e7929541eC2318f3dCF7e)RPC_URL: RPC endpoint (default: https://sepolia.base.org)WALLET_PRIVATE_KEY: Your wallet private keyYour wallet needs:
1. market_list() — Browse existing markets
2. market_buy_yes({ marketAddress, amount: 5 }) — Bet 5 USDC on YES
3. market_propose_outcome({ marketAddress, outcome: true }) — Propose YES won (posts bond)
4. (wait for dispute window to close)
5. market_finalize({ marketAddress }) — Finalize the outcome
6. market_claim({ marketAddress }) — Collect your winnings
market_listList active prediction markets with prices and oracle status.
limit (number, optional): Number of markets to return (default: 10)offset (number, optional): Offset for paginationmarket_getGet full details for a specific market including AMM prices, oracle state, and claim preview.
marketAddress (string): The market contract addressmarket_createCreate a new YES/NO prediction market. Costs 2 USDC (1 fee + 1 initial liquidity). You receive LP tokens for the initial liquidity.
question (string): The question to be resolved (should have a clear YES/NO answer, max 256 characters)arbitrator (string): Address of the fallback arbitrator for disputed outcomesdeadlineDays (number, optional): Emergency withdrawal deadline in days (default: 7, max: 365)market_buy_yesBuy YES shares (betting the event will happen). Minimum 2 USDC (a 0.1% protocol fee is deducted before the swap, so the post-fee amount must be at least 1 USDC).
marketAddress (string): The market to bet onamount (number): Amount of USDC to spendmarket_buy_noBuy NO shares (betting the event will not happen). Minimum 2 USDC (a 0.1% protocol fee is deducted before the swap, so the post-fee amount must be at least 1 USDC).
marketAddress (string): The market to bet onamount (number): Amount of USDC to spendmarket_sell_yesSell YES shares back for USDC.
marketAddress (string): The marketamount (number): Amount of YES tokens to sellmarket_sell_noSell NO shares back for USDC.
marketAddress (string): The marketamount (number): Amount of NO tokens to sellmarket_claimClaim winnings from a resolved market. Burns your winning tokens and returns your proportional share of the pool.
marketAddress (string): The resolved marketLiquidity providers (LPs) deposit USDC to deepen the AMM pool, earning trading fees (0.3% per trade plus 0.1% protocol fee). You receive LP tokens representing your share.
market_add_liquidityAdd USDC liquidity to a market's AMM. Minimum 1 USDC.
marketAddress (string): The marketamount (number): Amount of USDC to depositmarket_remove_liquidityRemove liquidity before resolution. Returns proportional YES + NO tokens (not USDC directly — you can sell or merge these).
marketAddress (string): The marketshares (number): LP shares to burnmarket_lp_claim_winningsAfter a market resolves, call this once to convert the AMM's winning tokens into USDC. Must be called before LPs can withdraw.
marketAddress (string): The resolved marketmarket_lp_withdrawWithdraw your share of USDC from a resolved market's AMM. Requires market_lp_claim_winnings to have been called first.
marketAddress (string): The resolved marketshares (number): LP shares to burnResolution follows: propose -> (wait for dispute window) -> finalize. If disputed: arbitrate.
market_propose_outcomePropose how a market should resolve. Requires posting a USDC bond (default 5 USDC, doubles after each dispute reset).
marketAddress (string): The market to resolveoutcome (boolean): true for YES, false for NOmarket_finalizeFinalize an unchallenged proposal after the dispute window closes. Anyone can call this. Proposer gets their bond back.
marketAddress (string): The market to finalizemarket_disputeChallenge a proposed outcome by posting a counter-bond (matches the current bond amount). Sends the dispute to the arbitrator.
marketAddress (string): The market with the proposal to disputemarket_arbitrateMake the final ruling on a disputed market. Only the designated arbitrator can call this. Winner of the dispute gets both bonds.
marketAddress (string): The disputed marketoutcome (boolean): true for YES, false for NOmarket_reset_disputeReset a stuck dispute after 7 days if the arbitrator hasn't acted. Returns both bonds and reopens the oracle for a new proposal. Bond amount doubles for the next round.
marketAddress (string): The market with the stuck disputemarket_reset_proposalReset a stuck proposal after 3 days (e.g. if the proposer went inactive). Returns the proposer's bond.
marketAddress (string): The market with the stuck proposalmarket_emergency_withdrawWithdraw USDC from a market where the oracle failed to resolve before the deadline. Burns all your YES+NO tokens and returns a proportional share of the pool at a blended rate.
marketAddress (string): The expired marketmarket_arbitrator_checkScan all markets to find any where you are the designated arbitrator and action is needed.
| Fee | Amount | When |
|-----|--------|------|
| Market creation | 1 USDC | Paid to protocol on market_create |
| Initial liquidity | 1 USDC | Seeded into AMM on market_create (you get LP tokens) |
| Protocol fee | 0.1% | Deducted from USDC on buy/sell |
| AMM trading fee | 0.3% | Stays in pool (benefits LPs) |
Creating markets: You pay 2 USDC (1 fee + 1 liquidity) and receive LP tokens. Ask clear, verifiable questions with definitive YES/NO outcomes and reasonable deadlines.
Trading: Buy when you believe the current price undervalues an outcome. If YES is priced at 0.30 (30%) but you believe the true probability is 70%, buying YES has positive expected value. You can also sell positions you no longer want to hold.
Providing liquidity: LPs earn 0.3% of every trade. Higher volume = more fees. Risk: impermanent loss if the market moves heavily in one direction. Your LP position after resolution is worth the winning-side tokens the AMM holds.
Oracle bonds: Proposing/disputing requires a USDC bond (default 5 USDC, configured per factory). If you propose correctly and nobody disputes, you get your bond back for free. If you dispute and the arbitrator agrees with you, you win both bonds. Bond amounts double after each dispute reset cycle (up to 10 resets max).
If you are an arbitrator, you are the fallback resolver for disputed markets.
To ensure you don't miss any, add the following to your HEARTBEAT.md:
Periodically:
1. Call `market_arbitrator_check()` from the `agent-market` skill.
2. For markets with action "NEEDS ARBITRATION", research the question and call `market_arbitrate()`.
3. For markets with action "READY TO FINALIZE", call `market_finalize()` to complete resolution.
4. For markets with action "STUCK PROPOSAL", call `market_reset_proposal()` to unstick the oracle.
Generated Mar 1, 2026
Users create markets on upcoming events like sports matches or election results, allowing others to bet on outcomes. This enables decentralized forecasting and speculation without intermediaries, with resolution handled by an optimistic oracle.
Companies use markets to hedge against operational risks, such as project delays or supply chain disruptions. By buying NO shares on negative outcomes, they can offset potential losses, providing a financial safety net.
DAO members create markets to gauge sentiment on governance proposals before voting. Trading YES/NO shares reflects collective probability, offering a dynamic and incentivized alternative to traditional polls.
Streamers or influencers set up markets on content milestones, like viewer counts or event outcomes, to engage audiences. Fans bet with USDC, adding interactive and financial stakes to community activities.
Educators use markets to teach probability and economics by having students bet on real-world events. This hands-on approach demonstrates market dynamics and decision-making under uncertainty.
The protocol charges a 0.1% fee on all trades and a 2 USDC fee for market creation, generating revenue from user activity. This model scales with trading volume and market deployment, ensuring sustainable operations.
Users act as liquidity providers by depositing USDC into AMM pools, earning 0.3% trading fees plus protocol fees. This incentivizes deep liquidity, improving market efficiency and providing passive income opportunities.
Revenue comes from bonds posted during oracle proposals, which are forfeited if disputes are invalid. This model discourages malicious proposals and funds arbitration processes, aligning incentives for accurate resolutions.
💬 Integration Tip
Ensure wallet has sufficient Base Sepolia ETH for gas and USDC for trading; use the provided default addresses and RPC to minimize setup errors.
Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management, watchlists with alerts, dividend analysis, 8-dimension stock scoring, viral trend detection (Hot Scanner), and rumor/early signal detection. Use for stock analysis, portfolio tracking, earnings reactions, crypto monitoring, trending stocks, or finding rumors before they hit mainstream.
Get stock prices, quotes, fundamentals, earnings, options, dividends, and analyst ratings using Yahoo Finance. Uses yfinance library - no API key required.
Yahoo Finance (yfinance) powered stock analysis skill: quotes, fundamentals, ASCII trends, high-resolution charts (RSI/MACD/BB/VWAP/ATR), plus optional web a...
Become an autonomous prediction market trader on Polymarket with AI-powered analysis and a performance-backed token on Base. Trade real markets, build a track record, and let the buyback flywheel run.
Get cryptocurrency token price and generate candlestick charts via CoinGecko API or Hyperliquid API. Use when user asks for token price, crypto price, price chart, or cryptocurrency market data.
Trade and monitor Hyperliquid perpetual futures. Check balances, view positions with P&L, place/cancel orders, execute market trades. Use when the user asks about Hyperliquid trading, portfolio status, crypto positions, or wants to execute trades on Hyperliquid.