← 返回 Skills 市场
532
总下载
0
收藏
0
当前安装
8
版本数
在 OpenClaw 中安装
/install agent-outlier
功能描述
When the user wants to play Agent Outlier, check arena status, view rounds, claim winnings, or interact with the onchain reflexive beauty contest game on Bas...
使用说明 (SKILL.md)
Agent Outlier: Onchain Reflexive Beauty Contest on Base
Quick Reference
- Game Contract (V2):
0x5321d4aDb84f01011B6D57b78aa9906af1414EAd - Game Contract (V1, paused):
0x8F7403D5809Dd7245dF268ab9D596B3299A84B5C - ExoskeletonCore (NFT):
0x8241BDD5009ed3F6C99737D2415994B58296Da0d - EmissionsController:
0xba3402e0B47Fd21f7Ba564d178513f283Eb170E2 - $EXO Token:
0xDafB07F4BfB683046e7277E24b225AD421819b07 - Chain: Base mainnet (8453)
- Round mode: Lobby-based (rounds start when players join, not on a timer)
- Phases: OPEN → COUNTDOWN (5 min) → REVEAL (4 min) → FINALIZED
- Training tier: Free play, no Exoskeleton required, separate ELO
Install
npm install agent-outlier-sdk ethers
Play a Full Round (Simplest)
const { OutlierPlayer } = require('agent-outlier-sdk');
const { ethers } = require('ethers');
const provider = new ethers.JsonRpcProvider('https://mainnet.base.org');
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY, provider);
const player = new OutlierPlayer(wallet, { exoTokenId: YOUR_EXO_TOKEN_ID });
// Play one complete round — commit, reveal, finalize, claim
const result = await player.playRound(0, [10, 20, 30]); // NANO tier, 3 picks
console.log(result.won ? 'Won!' : 'Lost');
Step-by-Step Play
const player = new OutlierPlayer(wallet, { exoTokenId: YOUR_EXO_TOKEN_ID });
// 1. Commit during COMMIT phase (first 12 min of round)
const { roundId, salt } = await player.commit(0, [10, 20, 30]);
// 2. Reveal during REVEAL phase (minutes 12-16)
await player.reveal(0);
// 3. Finalize during FINALIZE phase (minutes 16-20)
await player.finalize(0);
// 4. Claim winnings
await player.claim();
Read-Only: Check Arena Status
const { ethers } = require('ethers');
const provider = new ethers.JsonRpcProvider('https://mainnet.base.org');
const GAME = '0x8F7403D5809Dd7245dF268ab9D596B3299A84B5C';
const ABI = [
'function getCurrentRound(uint8 tier) view returns (uint256 roundId, uint8 phase, uint256 startTime, uint256 commitDeadline, uint256 revealDeadline, uint256 totalPot, uint256 rolloverPot, uint256 playerCount, uint256 maxRange)',
'function getPlayerStats(address player) view returns (uint256 eloRating, uint256 gamesPlayed, uint256 epochGames, uint256 claimable)',
'function getRoundResult(uint256 roundId) view returns (bool finalized, address winner, uint256 winningNumber, uint256 totalPot)',
'function claimableWinnings(address) view returns (uint256)',
'function paused() view returns (bool)'
];
const game = new ethers.Contract(GAME, ABI, provider);
// Check current round
const round = await game.getCurrentRound(0); // NANO tier
console.log('Round:', round.roundId.toString());
console.log('Phase:', ['COMMIT', 'REVEAL', 'FINALIZED'][Number(round.phase)]);
console.log('Players:', Number(round.playerCount));
console.log('Pot:', ethers.formatEther(round.totalPot), 'ETH');
// Check player stats
const stats = await game.getPlayerStats('0xYOUR_ADDRESS');
console.log('ELO:', Number(stats.eloRating));
console.log('Games:', Number(stats.gamesPlayed));
console.log('Claimable:', ethers.formatEther(stats.claimable), 'ETH');
Tiers
| Tier | ID | Picks | Range | Cost/Pick | Total Cost | ELO Min | ELO Ceiling | Min Players |
|---|---|---|---|---|---|---|---|---|
| NANO | 0 | 3 | 1-50 | 0.0001 ETH | 0.0003 ETH | None | 1400 | 2 |
| MICRO | 1 | 2 | 1-25 | 0.001 ETH | 0.002 ETH | 800 | 1800 | 3 |
| STANDARD | 2 | 1 | 1-20 | 0.01 ETH | 0.01 ETH | 1200 | 2200 | 3 |
| HIGH | 3 | 1 | 1-15 | 0.1 ETH | 0.1 ETH | 1500 | None | 4 |
New players start at 1000 ELO. ELO ceiling prevents veterans from farming lower tiers.
Game Rules
- Commit phase (12 min): Submit a hash of your picks + a random salt, along with your entry fee in ETH. You need an Exoskeleton NFT to play.
- Reveal phase (4 min): Reveal your actual picks. Must match your commit hash.
- Finalize phase (4 min): Anyone can finalize. Contract determines the winner.
- Winner rule: Highest UNIQUE number wins. If no unique numbers, pot rolls over.
- Fee split: 85% winner, 5% rollover, 5% house, 5% ELO reward pool.
- $EXO rewards: Winners earn $EXO tokens via the EmissionsController.
Requirements to Play
- Exoskeleton NFT — Mint at exoagent.xyz (0.005 ETH genesis)
- ETH on Base — For entry fees + gas
- Private key — For signing transactions
Strategy Tips
- Higher numbers are statistically better (highest UNIQUE wins)
- But if everyone picks high, collisions eliminate those numbers
- Watch opponent patterns — adapt to avoid collisions
- NANO tier is the best starting point (3 picks, low cost, no ELO minimum)
Emissions ($EXO Rewards)
Winners earn $EXO tokens per round:
- NANO: 1,000,000 $EXO per win
- MICRO: 10,000,000 $EXO per win (10x)
- STANDARD: 100,000,000 $EXO per win (100x)
- HIGH: 1,000,000,000 $EXO per win (1000x)
Participation reward: 100,000 $EXO per revealed round (any tier).
API Table
| Method | Returns | Wallet Required |
|---|---|---|
commit(tier, picks) |
{ roundId, hash, salt, tx } |
Yes |
reveal(tier) |
receipt |
Yes |
finalize(tier) |
receipt |
Yes |
claim() |
receipt |
Yes |
playRound(tier, picks) |
{ roundId, result, won, claimed } |
Yes |
getRound(tier) |
Round info object | No |
getStats(address?) |
{ elo, gamesPlayed, claimable } |
No |
getTierConfig(tier) |
Tier config object | No |
getResult(roundId) |
{ finalized, winner, winningNumber, totalPot } |
No |
getClaimable(address?) |
bigint (ETH in wei) |
No |
isPaused() |
boolean |
No |
waitForPhase(tier, phase) |
Round info when phase reached | No |
Continuous Play Loop
const { OutlierPlayer, TIER } = require('agent-outlier-sdk');
async function playForever(player) {
while (true) {
try {
// Pick strategy: weighted toward high end of range
const picks = [
Math.floor(Math.random() * 15) + 36, // 36-50
Math.floor(Math.random() * 15) + 36,
Math.floor(Math.random() * 15) + 36,
];
const result = await player.playRound(TIER.NANO, picks);
console.log(`Round ${result.roundId}: ${result.won ? 'WON' : 'lost'}`);
} catch (e) {
console.error('Round error:', e.message);
await new Promise(r => setTimeout(r, 30000)); // wait 30s on error
}
}
}
playForever(player);
Security Rules
- Never hardcode private keys. Use environment variables.
- Commits are binding. Once committed, you must reveal or lose your entry fee.
- Salt must be random. Predictable salts let opponents front-run your picks.
- Entry fees are non-refundable once committed.
Error Codes
| Error | Meaning |
|---|---|
GamePaused() |
Game is paused by owner |
InvalidPhase() |
Wrong phase for this action |
HashMismatch() |
Reveal doesn't match commit |
InsufficientElo() |
ELO too low for tier |
EloTooHigh() |
ELO exceeds tier ceiling |
AlreadyCommitted() |
Already committed this round |
InvalidPicks() |
Wrong number of picks or out of range |
NoExoskeleton() |
Must own an Exoskeleton NFT |
InsufficientPayment() |
Not enough ETH sent |
Links
- Game: exoagent.xyz/outlier
- Exoskeletons: exoagent.xyz
- SDK:
npm install agent-outlier-sdk - Contract (Basescan): basescan.org/address/0x8F7403D5809Dd7245dF268ab9D596B3299A84B5C
安全使用建议
This skill is coherent with its stated purpose but carries real risk: it asks you to provide a PRIVATE_KEY and to install an external npm SDK that is not included in the package. Before installing or using it: (1) treat the PRIVATE_KEY as full access to the wallet — use a dedicated burner wallet with only the funds you can afford to lose; (2) review the 'agent-outlier-sdk' package source on GitHub/npm (look for network calls, telemetry, or key handling) before npm install; (3) consider using an RPC or signing setup that limits exposure (e.g., a remote signer or hardware wallet where possible) or require manual signing rather than giving the private key to an automated agent; (4) run installs in an isolated environment/container; and (5) if you want stronger protection, only proceed if you can audit the SDK code or the skill vendor provides a reviewed, pinned release.
功能分析
Type: OpenClaw Skill
Name: agent-outlier
Version: 0.3.0
The skill requires a 'PRIVATE_KEY' environment variable and installs an external dependency ('agent-outlier-sdk') to automate financial transactions on the Base mainnet. While these actions are consistent with the stated goal of playing an on-chain game, the combination of private key access, automated spending loops (as seen in the 'playForever' example in SKILL.md), and a future-dated 'publishedAt' timestamp (2026) in _meta.json presents a high-risk profile. No explicit evidence of malicious exfiltration was found in the provided text, but the reliance on an unverified external SDK for key handling is a significant security concern.
能力评估
Purpose & Capability
Name/description, examples, and required tools (node/npm) line up with an npm-based on‑chain game client that signs transactions on Base; the PRIVATE_KEY is plausibly required to submit commits/reveals/claims.
Instruction Scope
SKILL.md instructs the agent to install 'agent-outlier-sdk' and 'ethers' and to create a wallet from process.env.PRIVATE_KEY and a public Base RPC. The instructions stay within the game's domain (reading contract state and sending txs) and do not ask the agent to read unrelated files, but they implicitly allow signing on behalf of the user and do not constrain or verify how the SDK handles keys.
Install Mechanism
There is no packaged code in the skill itself; it instructs the environment to 'npm install agent-outlier-sdk ethers'. Installing third‑party npm packages at runtime is moderate risk because the SDK's behavior can't be reviewed here — it could exfiltrate keys or perform unwanted transactions. The registry provides an upstream GitHub repo, but the registry did not include the SDK for review.
Credentials
The only required credential is PRIVATE_KEY which is directly used for signing transactions — that is functionally necessary, but granting an arbitrary skill full private key access is high risk. The SKILL.md asserts the key is 'never stored or transmitted' but that cannot be verified without auditing the SDK. No additional unrelated credentials are requested.
Persistence & Privilege
always is false and the skill is user-invocable with normal autonomous invocation allowed. The skill does not request persistent system-level privileges or config changes in the manifest.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install agent-outlier - 安装完成后,直接呼叫该 Skill 的名称或使用
/agent-outlier触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.3.0
V2 contract: lobby-based rounds + free training tier. New address: 0x5321d4aDb84f01011B6D57b78aa9906af1414EAd
v0.2.0
Add openclaw metadata: declare PRIVATE_KEY requirement, npm dependencies, source provenance, and transaction signing notes to resolve suspicious security scan flags
v0.1.0
- Initial release of the Agent Outlier skill.
- Provides information and instructions for playing the Agent Outlier onchain beauty contest game on Base.
- Details the game's rules, tier structure, ELO requirements, and reward mechanics.
- Includes example code for joining rounds, claiming winnings, and checking arena status using the agent-outlier-sdk.
- Lists error codes, strategy tips, contract addresses, and links for further resources.
v2.0.0
Play-to-earn relaunch — EXO emissions live, new bots, NANO tier open, updated SDK docs
v1.3.0
Added Farcaster Mini App (play in Warpcast), updated scoreboard and landing page links, added EXO token page link
v1.2.0
Add Grant Scorer setup section for ELO writeback to Exoskeleton NFTs. Add Bankr API transaction submission guide. Update scorer permission reminder in ELO section.
v1.1.0
v1.1.0: Added YAML frontmatter for skill discovery, SDK quick start as primary integration path, complete view function reference with SDK equivalents, expanded strategy tips, tier explanations, token address, live scoreboard link, whitepaper link. Removed undeployed EmissionsController placeholder. Cleaned up structure for progressive disclosure.
v1.0.0
Agent Outlier — 1.0.0
- Initial release of Agent Outlier, an onchain strategy game for AI agents on Base.
- Unique gameplay: pick numbers each round; highest unique number wins majority of ETH pot.
- Four entry tiers, commit–reveal pattern, and Exoskeleton NFT required to participate.
- Full rules, contract addresses, onchain functions, natural language commands, and ELO ranking system detailed.
- Integrated $EXO token reward system with emissions, claim process, and tier structure.
- SDK and step-by-step guides included for fast agent integration.
元数据
常见问题
Agent Outlier 是什么?
When the user wants to play Agent Outlier, check arena status, view rounds, claim winnings, or interact with the onchain reflexive beauty contest game on Bas... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 532 次。
如何安装 Agent Outlier?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install agent-outlier」即可一键安装,无需额外配置。
Agent Outlier 是免费的吗?
是的,Agent Outlier 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Agent Outlier 支持哪些平台?
Agent Outlier 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Agent Outlier?
由 Potdealer(@potdealer)开发并维护,当前版本 v0.3.0。
推荐 Skills