--- name: augur version: 1.0.0 description: Deterministic Base contract admission control for agents. Analyze a contract, get an effective first-pass decision plus policy recommendation and supporting findings, and pay per call with x402. homepage: https://augurrisk.com license: MIT tags: [security, smart-contracts, base, bytecode-analysis, x402, agents] payment: protocol: x402 network: eip155:8453 asset: USDC amount: 0.10 endpoint: https://augurrisk.com/analyze --- # Augur Use Augur when you need a fast deterministic first-pass contract gate on a Base mainnet contract. Use it before your agent buys, routes funds, approves, pays, or interacts. Call before pay. Call before approve. Call before interact. Augur is deterministic preflight for Base contract actions. ## Fastest Path 1. Read this file or `https://augurrisk.com/openapi.json` 2. For the first successful paid call, use `GET https://augurrisk.com/analyze?address=0x4200000000000000000000000000000000000006` 3. If you receive `402`, let your x402 client pay `$0.10` USDC on Base and retry with `PAYMENT-SIGNATURE` 4. Branch on `decision`; read `contract_decision`, `recommended_policy`, `findings`, `score`, `level`, `category_scores`, and optional `implementation` ## Endpoint ```http GET https://augurrisk.com/analyze?address=0x4200000000000000000000000000000000000006 POST https://augurrisk.com/analyze Content-Type: application/json {"address":"0x4200000000000000000000000000000000000006"} ``` ## Action-Aware V1 Augur also supports a narrow action-aware request shape for approval checks on Base: ```http GET https://augurrisk.com/analyze?address=0x4200000000000000000000000000000000000006&action=approve&spender=0x1111111111111111111111111111111111111111&chain=base ``` Use this when your agent is about to approve a spender and you want the primary `decision` to reflect the stricter action-level gate while preserving the base contract result as `contract_decision`. The response adds `contract_decision`, `action_context`, and `action_evaluation`. ## Output Shape ```json { "address": "0x4200000000000000000000000000000000000006", "score": 0, "level": "safe", "decision": "allow", "contract_decision": "allow", "recommended_policy": { "action": "allow", "summary": "Allow by default for first-pass automation. Continue only if this matches your broader strategy and trust model.", "reason_codes": [] }, "bytecode_size": 4632, "findings": [], "category_scores": {} } ``` ## Action-Aware Example ```json { "address": "0x4200000000000000000000000000000000000006", "score": 0, "level": "safe", "decision": "warn", "contract_decision": "allow", "recommended_policy": { "action": "warn", "summary": "Allow with caution only if this workflow explicitly expects the approval. Keep the spender on an allowlist and the approval scope narrow.", "reason_codes": [ "action_approve_requested" ] }, "bytecode_size": 4632, "findings": [], "category_scores": {}, "action_context": { "action": "approve", "spender": "0x1111111111111111111111111111111111111111", "chain": "base" }, "action_evaluation": { "decision": "warn", "recommended_policy": { "action": "warn", "summary": "Allow with caution only if this workflow explicitly expects the approval. Keep the spender on an allowlist and the approval scope narrow.", "reason_codes": [ "action_approve_requested" ] } } } ``` The important distinction is: - top-level `decision` is the primary branch field - `contract_decision` preserves the contract-only policy action - `action_evaluation.decision` describes the specific `approve` action - a clean contract can stay `contract_decision: "allow"` while the primary `decision` for `approve` returns `warn` Current limit: action-aware V1 currently supports only `approve` on Base, and `spender` is required for that action. Risk levels: - `safe` (0-15): no major bytecode-level risk signals detected in this scan; not a guarantee - `low` (16-35): limited concerns detected - `medium` (36-55): notable risks detected - `high` (56-75): significant risks detected - `critical` (76-100): severe risks detected ## What Augur Checks - proxy behavior - reentrancy risk - selfdestruct capability - honeypot-style transfer restrictions - hidden mint capability - fee manipulation - delegatecall usage - deployer reputation One `/analyze` call checks all 8 categories below. Proxy contracts can include a nested `implementation` analysis so downstream policy can score both proxy shell and underlying logic consistently. ## Failure Cases - `422`: missing, malformed, or non-contract Base address - `402`: payment required - `502`: upstream Base RPC failure ## Machine Docs - [OpenAPI Spec](https://augurrisk.com/openapi.json) - [Summary Doc](https://augurrisk.com/llms.txt) - [Full Doc](https://augurrisk.com/llms-full.txt) - [A2A Agent Card](https://augurrisk.com/.well-known/agent-card.json) - [x402 Discovery](https://augurrisk.com/.well-known/x402) - [API Catalog](https://augurrisk.com/.well-known/api-catalog) - [MCP Setup](https://augurrisk.com/mcp) - [How Payment Works](https://augurrisk.com/how-payment-works)