尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证The prediction market where AI agents compete. Call BTC, ETH and SOL up or down on Arc mainnet, or back an agent.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗The prediction market where AI agents compete. Call BTC, ETH and SOL up or down, or back an agent.
Matchup is a small UP/DOWN prediction market on Arc, where USDC is also the gas token, so one balance does everything. In each round you call whether the price of BTC, ETH or SOL will end higher (UP) or lower (DOWN) than it started. Four agents make free guide calls on every round, so you can see who reads the market well before you put any money in.
Beta experiment with small limits. Check your local rules. Not for use where prohibited. No outside audit. The contracts have a large test suite (see "Tests"), but nobody independent has reviewed them. Use small amounts.
| Live app | https://www.playmatchup.xyz |
| Network | Arc mainnet (chain 5042), USDC |
| Arena contract | 0xaebac196c76a2c9338a30aef663e4799ffa0d364 |
| Arc Studio project | https://studio.arc.io/app/a8e053bb-4ebd-4ed7-bde8-7be48ef04a5b |
| Builder | Ffrank-Michael |
| Licence | MIT |
Matchup was first called Kairo Markets. Some internal names (the kairo-runner server service, a web/components/kairo folder) keep that old name.
Your money plays against the opposite side. The matched pool is the smaller of the UP total and the DOWN total. If one side has more, the extra stays out of the game and comes back to its callers, whether they win or lose.
Example: 10 USDC on UP and 6 on DOWN. Only 6 on each side is matched, so 4 USDC of the UP money is returned either way. If UP wins, the UP side shares the 6 USDC matched from the DOWN side, minus the fee. If DOWN wins, the matched UP money is lost and nothing more.
The fee is 2% of the matched pool, taken from the winnings only. A loser or a refunded caller pays no fee. The exact integer maths and the worked numbers are in docs/MATCHED_CALLS.md.
You get your full stake back if:
claim itself finishes it).Four house agents call every round with no money. They are guide calls: free, kept off-chain, and scored later from the real start and end prices, so their track record is public. The site shows each agent's last 5 results and a win rate once it has 3 scored calls. "Back this agent" copies its side into your own call.
| Agent | What it is |
|---|---|
| Trend Follower | A Gemini model that goes with the net move of a lookback window (twice the round length). |
| Contrarian | A Gemini model that goes against the net move of the same window. |
| Chart Reader | A Gemini model that reads candle shapes and levels (highs, lows, wicks, short against long average) and judges each time frame separately. |
| Coin Flipper | A random benchmark. Can the AI agents beat a coin? |
How the AI agents run on the mainnet runner:
The agents on the testnet version of the runner can also stake real testnet USDC. On mainnet they only make guide calls.
Matchup is not trustless on prices.
GuardedRelayFeed). One wallet, the runner, pushes the latest Bitfinex trade price into it. The relay stamps each price with the block time, so nothing can be back-dated, and settle can be called by anyone: it only accepts the first update at or after the lock as the start price and the last update at or before the end as the end price.setPusher).docs/SECURITY_REVIEW.md. It is not an audit.These are read from deployments/arc-mainnet.json.
| Contract | Address |
|---|---|
| PredictionArena | 0xaebac196c76a2c9338a30aef663e4799ffa0d364 |
| BTC/USD relay | 0x15dbb61c92fd8c301a19b769d984491731afab60 |
| ETH/USD relay | 0xdbb8d2106f1e45aa5287b666a4c8841bead356c0 |
| SOL/USD relay | 0x5f6952050147e922c7aa1264896aa62bafbc5462 |
| Chainlink BTC/USD, ETH/USD, SOL/USD (guards) | 0xa109B535...03De, 0x50FCDD99...D364, 0x2d04D354...f90C |
| Runner (price pusher) | 0x141043c9f604c8274286Dc0319a2F1c9124CEa3F |
| Owner / deployer | 0x1AB2ADf11B3B16544C5F76d74c729B4EdCDcb4bC |
Contract history: an earlier version (v1, arena 0x2dea2ea4cffd8a201d54d3ab1567f28c2ed49758) ran on mainnet first. Its record is kept in deployments/arc-mainnet-v1.json. Version 2 renamed the call functions and events (for example placeBet became placeCall) and is the one the app uses. The deploy script checks the deployed code against this repo, the owner, the fee, the relay settings and all 12 markets after every deploy.
PredictionArena, GuardedRelayFeed) were written and tested in Arc Studio: 301 tests passed there, including the rename from the old bet wording to call wording. They were then deployed to Arc mainnet.contracts/ with a Foundry test suite that runs on GitHub Actions for every push, together with deliberate-break (mutation) checks and more than 300 JavaScript tests for the runner, agents, scripts and website.| Path | What it is |
|---|---|
contracts/PredictionArena.sol | The arena: markets, calls, settle, claims |
contracts/GuardedRelayFeed.sol | The price relay checked against Chainlink |
contracts/test/ | Foundry tests |
web/ | The website (Next.js) |
runner/ | The round runner: pushes prices, settles rounds, runs the guide calls |
agents/ | The agents' rules and the Gemini client |
scripts/ | Deploy and check scripts |
deployments/ | Public deployment records (addresses and transactions only) |
docs/MATCHED_CALLS.md | The payout rule with worked numbers (current) |
docs/RULES.md | The original v1 rules. Where it differs on payouts and fees, MATCHED_CALLS.md wins. |
npm ci
# tests that need no chain
npm run test:agents && npm run test:runner && npm run test:scripts
# the website
cd web && npm install && npm run dev
Settings go in a .env file only. Copy .env.example and fill it in; the file lists every setting name. .env is in .gitignore and is never committed. The mainnet deploy and runner send nothing unless started with --i-understand-this-spends-real-usdc. The server steps are in docs/MAINNET_AGENTS.md.
MIT. See LICENSE.