Skip to main content
Serialized Audit tells you whether a smart contract is safe to trade. Send a contract address and chain, get back a clear verdict, a human-readable summary, and the specific risks we found. Contracts we’ve already seen return in milliseconds; a first-time audit takes a few seconds. It catches owner privileges and trap mechanisms that ordinary scanners miss, across 28 EVM chains, through one endpoint.

How it works

1

Create an account and key

Sign up, then generate an API key from your dashboard. New accounts include free trial credits, no card required.
2

Call the endpoint

Send a GET request to /audit-contract with the contract address and chain, authenticated with your key.
3

Read the verdict

Branch on isSafe, show the description to your users, and inspect vulnerabilities for the detected risk categories.
Three steps, no polling. It is how the largest trading platforms run us in production.
  1. Fire and subscribe. The first time a token shows up on your side, call /audit-contract with async=true&subscribe=true. It returns immediately. If the token is already audited you get the audit in the response. Otherwise the finished verdict is pushed to you.
  2. Hold one SSE stream. Keep a single long-lived GET /api/stream open with your API key. Every finished audit and every later verdict change arrives there as an audit.changed event.
  3. Serve your own cache. Store payload.audit as-is, keyed by chain + address. It gets updated by what you receive on the stream. Your app reads only your cache.

How to integrate

The full pattern with code, reconnect and replay.

Why Serialized Audit

One call, full verdict

A single request returns a trade-safety decision. No pipeline to assemble, no rules to maintain on your side.

Catches what scanners miss

Detects intentional, obfuscated, and owner-controlled risks, not just known-bad signatures.

28 EVM chains

One integration covers Robinhood, BSC, Base, Ethereum, and every other chain we support. See Supported Chains.

Built for throughput

Cached verdicts return in milliseconds. Subscribe once and every later verdict change is pushed to you, no polling.

Base URL

All requests go to:

Quick example

Ready to integrate? Run your first call in the Quickstart, then follow How to integrate for the production pattern.