{"audit":{"version":"1.5","generated_at":"2026-10-01T10:37:34.340809+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/backendai-x4m1.onrender.com","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"backendai-x4m1.onrender.com","name":"Collar Guardrail","url":"https://backendai-x4m1.onrender.com/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"Collar","url":"https://collarguardrail.com"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"0.3.0","supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"no_url","live_responds":null,"last_status_code":200,"last_elapsed_ms":41,"last_error":null},"track_record":{"first_seen":"2026-10-01T08:54:32.252614+00:00","last_checked":"2026-10-01T08:54:32.252614+00:00","last_seen_ok":"2026-10-01T08:54:32.252614+00:00","checks_total":1,"checks_ok":1,"uptime_pct":100.0,"uptime_window_days":30,"uptime_probes":1,"archived":false,"archived_reason":null},"conformance":{"score":38,"grade":"F","summary":"F-grade: card is reachable but fails most operational signals.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification)."},{"key":"live_responds","label":"Live JSON-RPC","points":2,"max_points":25,"status":"fail","detail":"Card is valid but has no .url field."},{"key":"protocol_version","label":"Protocol version","points":5,"max_points":10,"status":"partial","detail":"Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points."},{"key":"signature","label":"JWS signature","points":0,"max_points":10,"status":"info","detail":"Card is unsigned (most published agents are)."},{"key":"uptime","label":"Uptime track record","points":0,"max_points":15,"status":"info","detail":"Only 1 probe so far, need ≥5 for an uptime grade."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 5 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: Collar (https://collarguardrail.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit."},{"key":"freshness","label":"Freshness + modern flags","points":4,"max_points":5,"status":"pass","detail":"seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":2,"max_points":5,"status":"partial","detail":"Declares 2 security scheme(s) but none use PKCE or mTLS."}]},"card_read":{"findings":[],"clean":true,"source_url":"https://backendai-x4m1.onrender.com/.well-known/agent-card.json"},"skills":[{"id":"evaluate_trade","name":"Evaluate a trade","description":"Pre-trade risk check. Returns allow, warn, or deny, with every reason attached and a tamper-evident audit hash. Checks tier limits, oracle/V4 price source, slippage, market hours, cluster rate limits, and daily loss. If check_token_safety returned severity=danger for the contract, this skill automatically returns deny regardless of other checks. If the response contains an 'error' key, no verdict was produced — treat as a hard stop and do not execute the trade.","tags":["risk","guardrail","trading","compliance"],"examples":["Evaluate a 10 NVDA buy from wallet 0x... before signing.","Check if a proposed ETH sell of 5 units crosses any limit."],"inputModes":["application/json"],"outputModes":["application/json"],"endpoint":{"method":"POST","path":"https://api.collarguardrail.com/api/v1/analyze/trade","requires":"bearer"},"inputSchema":{"type":"object","required":["wallet","asset","side","amount","contract_address"],"properties":{"wallet":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Wallet address the trade would execute from."},"asset":{"type":"string","maxLength":32,"description":"Asset symbol, e.g. NVDA, AAPL, ETH, USDG."},"side":{"type":"string","enum":["buy","sell"]},"amount":{"type":"number","exclusiveMinimum":0,"description":"Quantity in token units, not USD."},"contract_address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Must match the official registry entry for the symbol."},"max_slippage_bps":{"type":"integer","minimum":0,"maximum":1000,"default":100},"request_id":{"type":"string","description":"Idempotency key, cached 5 minutes."}}},"outputSchema":{"type":"object","properties":{"decision":{"type":"string","enum":["allow","warn","deny"]},"reasons":{"type":"array","items":{"type":"string"}},"tier":{"type":"integer"},"max_trade_usd":{"type":"number"},"calculated_notional_usd":{"type":"number"},"price_usd":{"type":"number"},"price_source":{"type":"string","enum":["oracle","uniswap_v4","fallback_default","unavailable"]},"risk_score":{"type":"integer","minimum":0,"maximum":100},"timestamp":{"type":"integer"},"request_id":{"type":"string"},"audit_hash":{"type":"string"},"audit_seq":{"type":"integer"},"daily_pnl_usd":{"type":"number"},"error":{"type":"string","description":"If present, no verdict was produced. Treat as a hard stop; do not execute the trade."}},"anyOf":[{"required":["decision","reasons","risk_score"]},{"required":["error"]}]}},{"id":"check_token_safety","name":"Check token safety","description":"Honeypot and contract safety check for any ERC-20 token. Returns severity (safe, warn, danger) and the specific risk factors found, using bytecode analysis and a live sell simulation. CRITICAL: when severity=danger, the next evaluate_trade call for the same contract is automatically denied. Use before trading unknown tokens or tokens absent from the official registry. If the response contains an 'error' key, the check failed — do not assume 'safe'.","tags":["security","honeypot","token","erc20"],"examples":["Is contract 0x... a honeypot?","Check this token before I let the agent buy it."],"inputModes":["application/json"],"outputModes":["application/json"],"endpoint":{"method":"POST","path":"https://api.collarguardrail.com/api/v1/token-safety","requires":"none"},"inputSchema":{"type":"object","required":["contract_address"],"properties":{"contract_address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}},"outputSchema":{"type":"object","properties":{"severity":{"type":"string","enum":["safe","warn","danger"]},"is_honeypot":{"type":"boolean"},"risk_factors":{"type":"array","items":{"type":"string"}},"owner_renounced":{"type":"boolean"},"owner_is_multisig":{"type":"boolean"},"sell_simulation":{"type":"object"},"error":{"type":"string","description":"If present, the check failed. Do not assume 'safe'."}},"anyOf":[{"required":["severity"]},{"required":["error"]}]}},{"id":"simulate_balance","name":"Simulate a wallet balance","description":"Read-only state-override simulation of an ERC-20 balance after a hypothetical trade. No transaction is sent. If the response contains an 'error' key, the simulation failed.","tags":["simulation","balance","erc20"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"],"endpoint":{"method":"POST","path":"https://api.collarguardrail.com/api/v1/simulate-balance","requires":"none"},"inputSchema":{"type":"object","required":["token_address","holder","delta"],"properties":{"token_address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"holder":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"delta":{"type":"number","description":"Signed amount. Negative = spend."},"balance_slot":{"type":"integer","minimum":0,"maximum":64},"decimals":{"type":"integer","minimum":0,"maximum":36,"default":18}}},"outputSchema":{"type":"object","properties":{"token_address":{"type":"string"},"holder":{"type":"string"},"balance_slot":{"type":"integer"},"current":{"type":"number"},"delta":{"type":"number"},"post_trade":{"type":"number"},"error":{"type":"string","description":"If present, the simulation failed."}},"anyOf":[{"required":["current","delta","post_trade"]},{"required":["error"]}]}},{"id":"get_supported_assets","name":"List supported assets","description":"The official Robinhood Chain asset registry with canonical contract addresses. Resolve a symbol correctly before calling evaluate_trade.","tags":["registry","assets","robinhood-chain"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"],"endpoint":{"method":"GET","path":"https://api.collarguardrail.com/api/v1/assets","requires":"none"},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string"},"contract_address":{"type":"string"},"is_native":{"type":"boolean"}}}}},{"id":"verify_audit_trail","name":"Verify audit trail","description":"Recompute every past decision's SHA-256 hash and verify the hash-chain links. Proves no decision was edited, deleted, or reordered. If the response contains an 'error' key, verification could not run.","tags":["audit","verification","compliance"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"],"endpoint":{"method":"GET","path":"https://api.collarguardrail.com/api/v1/audit/verify/{wallet}","requires":"none"},"inputSchema":{"type":"object","required":["wallet"],"properties":{"wallet":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"limit":{"type":"integer","minimum":1,"maximum":1000,"default":100}}},"outputSchema":{"type":"object","properties":{"wallet":{"type":"string"},"total":{"type":"integer"},"tampered":{"type":"integer"},"healthy":{"type":"boolean"},"records":{"type":"array","items":{"type":"object"}},"error":{"type":"string","description":"If present, verification could not run."}},"anyOf":[{"required":["healthy"]},{"required":["error"]}]}}],"provenance":[{"source":"smithery","first_seen":"2026-10-01T08:54:32.252614+00:00"}],"recent_probes":[{"fetched_at":"2026-10-01T08:54:32.252614+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":41,"live_responds":null}],"catalog_attestation":null,"operator_revenue_evidence":{"evidence_class":"operator_submitted","authenticity":{"rung":"no_operator_evidence","rank":0,"why":"No verifiable operator evidence has been submitted for this agent.","thresholds":{"min_independent_payers":3,"min_verified_usd":25.0},"engine_table":"agent_authenticity","merge_rule":"max(existing_rank, rank)"},"metric_metadata":{"provenance":"operator_submitted_evidence","confidence":"attested","coverage":{"numerator":0},"as_of":"2026-10-01T10:37:34.347799+00:00","definition":"Revenue proofs submitted by the verified owner and re-checked by Agenstry against the settlement chain or the operator's own Stripe account. Only independently confirmed proofs are counted."},"counts":{"retained":0,"verified":0,"unverifiable":0},"verified":{"gross_usd":0.0,"transactions":0,"independent_payers":0},"detail_url":"https://agenstry.com/api/agents/backendai-x4m1.onrender.com/evidence","dispute_url":"https://agenstry.com/agents/backendai-x4m1.onrender.com/dispute"},"verification_history":[],"signatures":[{"protected":"eyJhbGciOiJFUzI1NiIsImprdSI6Imh0dHBzOi8vYWdlbnN0cnkuY29tLy53ZWxsLWtub3duL2p3a3MuanNvbiIsImtpZCI6ImFnZW50ZmluZGVyLWVzMjU2LTEiLCJ0eXAiOiJKT1NFIn0","signature":"F19Vm83xruWk3XXfhIrGBdKetnkwxT8hlPdquhYA-YTd8q6KK0yK0AN-VwbT3leRQDUFlcogYr6C5zAP-CwbkQ"}]}