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.The recommended integration
Three steps, no polling. It is how the largest trading platforms run us in production.- Fire and subscribe. The first time a token shows up on your side, call
/audit-contractwithasync=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. - Hold one SSE stream. Keep a single long-lived
GET /api/streamopen with your API key. Every finished audit and every later verdict change arrives there as anaudit.changedevent. - Serve your own cache. Store
payload.auditas-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.