predictive_fraud_batch

Schedules a batch fraud detection job for a list of wallet addresses. Returns a job_id and signature immediately - do not wait for results after scheduling. Use check_job_status to poll progress and get_job_results to retrieve completed results.

Use this tool when a user provides a CSV or list of addresses to analyse for fraud risk.

MCP Endpoint: https://prediction.mcp.chainaware.ai/sse


Supported Networks

Identifier Network
ETH Ethereum
BNB BNB Smart Chain
POLYGON Polygon
TON TON
BASE Base
TRON Tron
HAQQ HAQQ

Input Schema

Field Type Required Description
apiKey string Yes Your ChainAware API key
network string Yes Blockchain network identifier (one of the values above)
addresses array of objects Yes List of wallet addresses to evaluate

Output Schema

The tool returns immediately with job metadata - no wallet results yet.

{
  "message": "Job scheduled successfully.",
  "job_id": "0fc5897a-ad64-4f21-88b5-1274d1cfec46",
  "signature": "260866090d88bf61bdfb54f0533fe876bfd8ded7339691c50ada9de59a48124a",
  "total_items": 5,
  "chunks_enqueued": 1,
  "status": "pending"
}
Field Type Description
job_id string Unique identifier for this batch job - store this, required for all follow-up calls
signature string Security signature - store this alongside job_id, required for all follow-up calls
total_items integer Total number of wallet addresses submitted
chunks_enqueued integer Number of processing chunks queued
status string Initial job status - always "pending" on creation

Important: Store both job_id and signature immediately. Both are required to check status and retrieve results. Neither can be recovered if lost.


Batch Workflow

1. predictive_fraud_batch  →  schedule job, store job_id + signature
2. check_job_status        →  poll until status is "completed" or "partial"
3. get_job_results         →  retrieve wallet fraud data

Do not poll immediately after scheduling - allow time for the job to process. Check status when the user asks whether the job is done.


Code Examples

Node.js

const job = await client.callTool({
  name: "predictive_fraud_batch",
  arguments: {
    apiKey: process.env.CHAINAWARE_API_KEY,
    network: "ETH",
    addresses: [
      { walletAddress: "0xABC..." },
      { walletAddress: "0xDEF..." },
      { walletAddress: "0x123..." }
    ]
  }
});

const { job_id, signature } = job;
// Store job_id and signature - needed for check_job_status and get_job_results

Python

job = await session.call_tool("predictive_fraud_batch", {
    "apiKey": os.environ["CHAINAWARE_API_KEY"],
    "network": "ETH",
    "addresses": [
        {"walletAddress": "0xABC..."},
        {"walletAddress": "0xDEF..."},
        {"walletAddress": "0x123..."}
    ]
})

job_id = job["job_id"]
signature = job["signature"]
# Store both - needed for follow-up calls

Example Agent Prompts

"Run fraud batch for this list of addresses on ETH: 0xABC..., 0xDEF..., 0x123..."
"Schedule batch fraud check for these BNB wallets: [list]"
"What is the fraudulent status of these addresses on ETH?"

Use Cases

  • Airdrop screening - batch-screen hundreds of claimant wallets before distribution
  • Whitelist validation - check fraud risk across an entire IDO or launchpad whitelist
  • Periodic portfolio review - re-screen a known set of protocol users on a schedule
  • DAO voter screening - bulk-check governance participants before a vote

Error Codes

Code Meaning
403 Invalid or missing apiKey
400 Malformed network or address list
500 Temporary backend failure - retry after a short delay


See also: Prediction MCP Overview | predictive_behaviour_batch