Lotero MCP server
Provably fair on-chain slot machine for AI agents: x402 spins on Base, Chainlink VRF results.
0 stars32 downloads/wk
Reviews
Write oneNobody has reviewed Lotero yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Lotero tools (5, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
claimWithdraw ALL accumulated winnings (wins + referral earnings) to the player's wallet — COSTS 0.1 USDC via x402, gasless for the player. The fee is flat and the claim withdraws everything, so claim ONCE at the end of the session, not after each win. Check get_balances first (claimable must be > 0).
get_balancesPlayer balances: moneyAdded, moneyEarned, moneyClaimed, earnedByReferrals, claimedByReferrals (USDC base units, 6 decimals). Free. Claimable = moneyEarned - moneyClaimed. Check before claiming to avoid paying for an empty claim.
get_contract_healthSystem status: executor ETH/USDC balances, contract bankroll, VRF subscription funding. Free. Use to diagnose stuck rounds or before a session (if the contract is unhealthy, don't spin).
get_roundGet a spin's result by requestId. Free. resolved=false means Chainlink VRF hasn't delivered yet — poll every ~3s; if still unresolved after ~10 minutes check the `pending.vrfSubscriptionFunded` flag in the response (the requestId never expires; re-poll later, never re-spin to replace a pending round). Reels: 0-4 DOGE (5x), 5-6 BNB (14x), 7-8 ETH (20x), 9 BTC (30x); three matching symbols win; priz
spinwrite actionExecute one slot-machine spin — COSTS 1.1 USDC (1 bet + 0.1 fee) via x402, paid by the configured wallet. GAMBLING with negative expected value (RTP ~93%): require the human's explicit authorization and budget BEFORE calling, report every result honestly, and never loop spins to 'chase' a win. `player` should be the HUMAN's wallet (winnings accrue and get claimed there). Returns a requestId — the
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan2 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 76 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Lotero compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 78/100
- higher than 57% of 48,255 servers
- Tools
- 5
- the typical server has 7
- Tools that change things
- 20%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 32
- more than 20% of 12,191 servers with a package
What its tools let an agent do: 4 read · 1 change
Install Lotero in Claude Code, Cursor or VS Code
Runs npx -y lotero-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add lotero -- npx -y lotero-mcp
What the publisher says
From the Lotero repository's README, as published. We do not edit it. Read it on GitHub
🎰 Lotero
A Provably Fair Casino for AI Agents
A provably fair, on-chain slot machine with Chainlink VRF 2.5. Designed for autonomous agents: clients pay in USDC via x402, execution is gasless.
Overview
Lotero lets users (or AI agents) bet USDC and win prizes when three matching symbols appear on the reels. The game uses Chainlink VRF 2.5 for provably fair randomness.
- RTP ~93% — DOCS/RTP_MODEL.md
- Max win: 30× — Bet 1 USDC, win up to 30 USDC (three BTC)
- Symbols — DOGE 5×, BNB 14×, ETH 20×, BTC 30×
- Referral — 1% commission on referred players' bets
- Dev fee — 5% of each bet to the team
⚠️ Frontend in development — The web app in packages/frontend is incomplete. The contracts and agent are production-ready.
Smart Contract
SlotMachineV2 (Base mainnet)
Core functions
- playFor(player, referringUserAddress, amountToPlay) — Pay on behalf of another address; the player receives the round, wins, and stats.
- claimPlayerEarnings(userAddress) — Claim winnings and referral earnings.
- isResolved(requestId) — Check if a round has been resolved.
Agents
Lotero Agent
Stateless HTTP API that sells spins and claims as a service. Clients pay via x402 (1.1 USDC spin, 0.1 USDC claim); the agent relays playFor and claimPlayerEarnings onchain. Two-agent system: Lotero Agent (Express API) + Ops Agent (external cron calling GET /cron/health). See packages/agent/README.md.
- POST /spinWith1USDC — Paid (x402). Execute spin for player.
- POST /claim — Paid (x402). Claim player earnings (gasless).
- GET /round?requestId=..., GET /player/:address/balances, GET /contract/health — Read-only.
- GET /cron/health — Ops Agent: system status, may execute transfers and Telegram alerts.
yarn agent # Start agent
yarn agent:dev # Dev with watchDocumentation: DOCS/AGENTFLOWS.md | DOCS/AGENTAPI.md
For AI agents:
- MCP server (lotero-mcp on npm, listed on the official Model Context Protocol registry as io.github.csacanam/lotero): exposes 5 MCP tools over stdio — spin (paid via x402), getround, getbalances, claim and getcontracthealth — built with the official MCP TypeScript SDK (@modelcontextprotocol/sdk), with an enforced session spin limit as a responsible-gambling guardrail. Install:
claude mcp add lotero -- npx -y lotero-mcpSee mcp/README.md for configuration and tool reference.
- Agent skill: npx skills add csacanam/lotero-core (or read it at lotero.xyz/skill.md) — wallet setup, x402 spin/poll/claim flow, payouts, budget guardrails.
- LLM index: lotero.xyz/llms.txt.
Project Structure
packages/
├── agent/ # Lotero Agent — x402 + onchain relay
├── contracts/ # Smart contracts, tests, deploy scripts
│ ├── contracts/ SlotMachine.sol, SlotMachineV2.sol
│ ├── deploy/
│ └── test/
└── frontend/ # Web app (in development)Documentation
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Lotero: common questions
- Is Lotero MCP server safe?
- Mostly: it is graded B (78/100). Read the Lotero safety report
- How do I install Lotero?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Lotero need an API key?
- Yes. The registry entry asks for
LOTERO_WALLET_PRIVATE_KEY. - Is Lotero maintained?
- The last commit was 115 days ago (2026-07-12). The latest release is v0.1.0.
- How does Lotero compare with other MCP servers?
- safety score 78/100 (higher than 57% of 48,255 servers); tools 5 (the typical server has 7); tools that change things 20% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.