Give your agent a wallet you control.
에이전트가 일회용 카드나 기계 결제 프로토콜로 온라인 결제하고, 모든 요청을 직접 승인
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.