x402janus API Docs
Agent-first wallet security runtime for Base. Start with machine entrypoints, then wire scan + x402 payment handling directly into your automation loop.
OpenAPI spec: GET /api/docs (OpenAPI 3.1.0)
Guided launchpad: /docs/playground
Explore related pages
Agent Entrypoints (Start Here)
Quick Start
Run a free agent-safe scan in one call:
curl -s -X POST "https://x402janus.com/api/guardian/scan/0x1234567890abcdef1234567890abcdef12345678?tier=free" | jq .summary
For paid tiers (quick / standard / deep), keep the same request pattern: call once, parse 402 Payment Required , settle x402 USDC payment on Base, and retry with X-PAYMENT.
Base URL
https://x402janus.com
All paths below are relative to this base. Responses are JSON with Content-Type: application/json. CORS is enabled on all endpoints.
Rate Limits
Rate-limit headers are included on every response:
X-RateLimit-Limit: 60 X-RateLimit-Remaining: 58 X-RateLimit-Reset: 1738901260
x402 Payment Flow
Agent runtime paid tiers implement the x402 protocol for per-request micropayments in USDC on Base. Wire this into your request-retry loop:
Call a paid tier endpoint (quick/standard/deep). The server responds with 402 Payment Required.
The 402 response includes the PAYMENT-REQUIRED header with: amount, USDC token address, network (Base), and facilitator address.
Sign and submit the USDC payment payload from your agent payer wallet. The thirdweb SDK can automate this with settlePayment().
Re-send the original request with the X-PAYMENT header containing base64-encoded payment proof. The server verifies and returns data.
Example: TypeScript with thirdweb
import { createThirdwebClient } from "thirdweb";
import { facilitator, settlePayment } from "thirdweb/x402";
const client = createThirdwebClient({ clientId: "YOUR_CLIENT_ID" });
// Step 1: Call the Janus scan endpoint
const res = await fetch("https://x402janus.com/api/guardian/scan/0x1234567890abcdef1234567890abcdef12345678?tier=quick", {
method: "POST",
});
if (res.status === 402) {
// Step 2: Read payment requirements
const paymentReq = res.headers.get("PAYMENT-REQUIRED");
// Step 3: Settle payment
const proof = await settlePayment(client, JSON.parse(paymentReq));
// Step 4: Retry with proof
const data = await fetch("https://x402janus.com/api/guardian/scan/0x1234567890abcdef1234567890abcdef12345678?tier=quick", {
method: "POST",
headers: { "X-PAYMENT": proof },
}).then(r => r.json());
console.log(data);
}Freshness Pricing
Paid endpoints use dynamic pricing based on data freshness:
Pricing
All prices are in USDC (6 decimals) on Base. Paid calls follow the x402 402 → pay → retry pattern and include settlement proof in X-PAYMENT.
Agent Runtime EndpointsPrimary automation surface
Compatibility EndpointsManual/browser wallet flows
These endpoints remain available for browser and wallet-auth workflows. Agent runtimes should start with /skill.md and prefer the runtime endpoints above.