{"openapi":"3.1.0","info":{"title":"0xeeMini","description":"\n**The smallest autonomous AI agent on earth.**\n\n0xeeMini audits GitHub repos for USDC, pays its own bills, and earns its own brain upgrades —\nno human operator after deploy.\n\n## Payment Protocol (HTTP 402)\n\nAll paid endpoints follow the x402 A2A pattern:\n\n1. **Request without payment** → `402 Payment Required` with wallet, price, memo\n2. **Send USDC on Solana** with the provided memo\n3. **Retry with `tx_signature`** → `200 OK` with result\n\n```bash\n# Example: audit a repo\ncurl -X POST https://mini.0xee.li/audit \\\n  -d '{\"repo_url\": \"bitcoin/bitcoin\"}'\n# → 402 { \"price_usdc\": 0.50, \"wallet\": \"ApNJDryGBtkvbHBji8CQ2afC4Dq9W9qn93iuvRrSXZHh\", \"memo\": \"0xee:a3f9c2b1\" }\n\ncurl -X POST https://mini.0xee.li/audit \\\n  -d '{\"repo_url\": \"bitcoin/bitcoin\", \"tx_signature\": \"5abc...xyz\"}'\n# → 200 { \"bullshit_score\": 15, \"verdict\": \"INVEST\", ... }\n```\n\n## Test Mode\n\nSet `buyer_wallet` to `MOCK_anything` to run a free analysis (dev/testing only).\n\n## Pricing\n\n| Endpoint | Price |\n|----------|-------|\n| `POST /audit` | 0.50 USDC |\n| `POST /audit/batch` (2–5 repos) | 1.50 USDC |\n| `GET /insight/{id}` | 0.10 USDC |\n\n**Live**: https://mini.0xee.li · **Source**: https://github.com/0xeeli/0xeeMini\n","contact":{"name":"0xeeMini Agent","url":"https://mini.0xee.li/","email":"agent@0xee.li"},"license":{"name":"CC0 — Public Domain","url":"https://creativecommons.org/publicdomain/zero/1.0/"},"version":"0.2.0"},"paths":{"/health":{"get":{"tags":["core"],"summary":"Health check","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/status":{"get":{"tags":["core"],"summary":"Live agent telemetry","description":"Returns real-time agent state: uptime, cycle count, USDC balance, last brain decision, recent transactions, and journey stage progress.","operationId":"status_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/catalog":{"get":{"tags":["insights"],"summary":"List available insights (paywall)","description":"Returns the list of AI-curated crypto/tech insights available for purchase. Each item includes a preview, price (0.10 USDC), and payment instructions. No payment required to browse — pay per item via HTTP 402.","operationId":"catalog_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/insight/{content_id}":{"get":{"tags":["insights"],"summary":"Unlock a paid insight (HTTP 402)","description":"**HTTP 402 A2A protocol.**\n\n- Without `X-Payment-Tx` header → `402` with payment instructions\n- With `X-Payment-Tx: <solana_tx_sig>` → verifies 0.10 USDC payment on-chain → returns full insight\n- Test mode: `X-Payment-Tx: MOCK_anything` → free access (dev only)\n\nGet `content_id` values from `GET /catalog`.","operationId":"get_insight_insight__content_id__get","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/proof/{proof_id}":{"get":{"tags":["proofs"],"summary":"Verify audit proof-of-compute","description":"Publicly verifiable SHA256 proof attached to every audit result. `proof_id` is returned in the `proof_hash` field of `POST /audit` responses.","operationId":"get_proof_proof__proof_id__get","parameters":[{"name":"proof_id","in":"path","required":true,"schema":{"type":"string","title":"Proof Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reputation":{"get":{"tags":["proofs"],"summary":"Agent on-chain reputation","description":"Aggregated reputation stats across all proved audits: total count, average bullshit score, verdict distribution.","operationId":"reputation_reputation_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/audit/batch":{"post":{"tags":["audit"],"summary":"Batch audit 2–5 repos (HTTP 402 · 1.50 USDC)","description":"**HTTP 402 A2A protocol.** Audit 2 to 5 GitHub repos in one transaction.\n\n- Without `tx_signature` → `402` with payment instructions\n- With valid `tx_signature` (1.50 USDC confirmed on-chain) → list of audit results\n- Test mode: `buyer_wallet: MOCK_anything` → free analysis\n\n**Savings**: 1.50 USDC vs 2.50 USDC for 5 individual audits.","operationId":"post_audit_batch_audit_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchAuditRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/agent.json":{"get":{"tags":["discovery"],"summary":"A2A agent card (ERC-8004)","description":"Standard agent.json — compatible Agentverse, Wayfinder, EIP-8004, A2A.\nRéférencé après enregistrement via : npx @emberai/agent-node register","operationId":"agent_json__well_known_agent_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/agent-card.json":{"get":{"tags":["discovery"],"summary":"A2A v0.3.0 Agent Card (Google A2A protocol)","description":"Agent Card au format A2A v0.3.0 (Linux Foundation / Google A2A protocol).\nDécouverte décentralisée — aucun registre central requis.\nCompatible : a2a-sdk, LangChain, ADK, tout client A2A v0.3+.\nSpec : https://a2a-protocol.org/latest/specification/","operationId":"agent_card__well_known_agent_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/actions.json":{"get":{"tags":["discovery"],"summary":"Solana Actions / Blinks manifest","description":"Dialect/Solana Actions registry manifest — liste les Blinks de l'agent.","operationId":"actions_manifest__well_known_actions_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/ai-plugin.json":{"get":{"tags":["discovery"],"summary":"OpenAI / ChatGPT plugin manifest","description":"Manifeste d'auto-découverte pour marketplaces d'agents (Agentopia, x402 Bazaar, MCP).\nCompatible OpenAI plugin spec v1 + extensions Solana payment.","operationId":"ai_plugin_manifest__well_known_ai_plugin_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/openapi.json":{"get":{"summary":"Openapi Schema","description":"Schéma OpenAPI minimal pour les clients MCP/A2A.","operationId":"openapi_schema_openapi_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/audit":{"post":{"tags":["audit"],"summary":"Audit a GitHub repo for fake activity (HTTP 402 · 0.50 USDC)","description":"**HTTP 402 A2A protocol.** Detects fake developer activity in crypto GitHub repos.\n\nReturns:\n- `bullshit_score` (0–100): 0 = pristine, 100 = pure fake\n- `verdict`: INVEST / CAUTION / AVOID\n- `red_flags`: list of detected anomalies\n- `proof_hash`: SHA256 proof-of-compute, verifiable at `/proof/{id}`\n\n**Flow**:\n1. POST without `tx_signature` → `402` with wallet + memo\n2. Send 0.50 USDC on Solana with memo\n3. POST again with `tx_signature` → `200` with result\n\n**Test mode**: set `buyer_wallet: MOCK_anything` for a free analysis.","operationId":"post_audit_audit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/audit/action":{"options":{"summary":"Audit Action Options","description":"OPTIONS preflight pour Blinks — Dialect validator + wallets.","operationId":"audit_action_options_audit_action_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"get":{"summary":"Audit Action Meta","description":"Blink GET — action metadata pour GitHub Audit.\nDialect dial.to / Solana Actions spec.","operationId":"audit_action_meta_audit_action_get","parameters":[{"name":"repo","in":"query","required":false,"schema":{"type":"string","default":"","title":"Repo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Audit Action Exec","description":"Blink POST — retourne une tx USDC non-signée (0.50 USDC vers agent).\nLe client signe et broadcastera.\nAprès confirmation, appeler POST /audit {repo_url, tx_signature}.","operationId":"audit_action_exec_audit_action_post","parameters":[{"name":"repo","in":"query","required":false,"schema":{"type":"string","default":"","title":"Repo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/catalog/action":{"get":{"summary":"Catalog Action Meta","description":"Blink GET — action metadata pour le Crypto Insights catalog.","operationId":"catalog_action_meta_catalog_action_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"summary":"Catalog Action Options","description":"OPTIONS preflight pour Blinks catalog.","operationId":"catalog_action_options_catalog_action_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/audit/cache/{repo_slug}":{"get":{"summary":"Get Audit Cache","description":"Retourne le dernier audit en cache pour ce repo (< 24h).\nrepo_slug format : \"owner-repo\" (tiret comme séparateur)\n→ 404 si absent ou périmé.","operationId":"get_audit_cache_audit_cache__repo_slug__get","parameters":[{"name":"repo_slug","in":"path","required":true,"schema":{"type":"string","title":"Repo Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/access":{"post":{"summary":"Request Access","operationId":"request_access_access_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/health":{"get":{"summary":" Api Health","operationId":"_api_health_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/status":{"get":{"summary":" Api Status","operationId":"_api_status_api_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/catalog":{"get":{"summary":" Api Catalog","operationId":"_api_catalog_api_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/insight/{content_id}":{"get":{"summary":" Api Insight","operationId":"_api_insight_api_insight__content_id__get","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/openapi.json":{"get":{"summary":" Api Openapi","operationId":"_api_openapi_api_openapi_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/access":{"post":{"summary":" Api Access","operationId":"_api_access_api_access_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/audit":{"post":{"summary":" Api Audit","operationId":"_api_audit_api_audit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/audit/batch":{"post":{"summary":" Api Audit Batch","operationId":"_api_audit_batch_api_audit_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchAuditRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/audit/cache/{repo_slug}":{"get":{"summary":" Api Audit Cache","operationId":"_api_audit_cache_api_audit_cache__repo_slug__get","parameters":[{"name":"repo_slug","in":"path","required":true,"schema":{"type":"string","title":"Repo Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/proof/{proof_id}":{"get":{"summary":" Api Proof","operationId":"_api_proof_api_proof__proof_id__get","parameters":[{"name":"proof_id","in":"path","required":true,"schema":{"type":"string","title":"Proof Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reputation":{"get":{"summary":" Api Reputation","operationId":"_api_reputation_api_reputation_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/audit/action":{"options":{"summary":" Api Audit Action Options","operationId":"_api_audit_action_options_api_audit_action_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"get":{"summary":" Api Audit Action Meta","operationId":"_api_audit_action_meta_api_audit_action_get","parameters":[{"name":"repo","in":"query","required":false,"schema":{"type":"string","default":"","title":"Repo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":" Api Audit Action Exec","operationId":"_api_audit_action_exec_api_audit_action_post","parameters":[{"name":"repo","in":"query","required":false,"schema":{"type":"string","default":"","title":"Repo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/catalog/action":{"get":{"summary":" Api Catalog Action Meta","operationId":"_api_catalog_action_meta_api_catalog_action_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"summary":" Api Catalog Action Options","operationId":"_api_catalog_action_options_api_catalog_action_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/.well-known/agent-card.json":{"get":{"summary":" Api Agent Card","operationId":"_api_agent_card_api__well_known_agent_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AccessRequest":{"properties":{"tx_signature":{"type":"string","title":"Tx Signature"},"content_hash":{"type":"string","title":"Content Hash"},"buyer_wallet":{"type":"string","title":"Buyer Wallet"}},"type":"object","required":["tx_signature","content_hash","buyer_wallet"],"title":"AccessRequest"},"AuditRequest":{"properties":{"repo_url":{"type":"string","title":"Repo Url","description":"GitHub owner/repo slug or full URL","examples":["bitcoin/bitcoin","https://github.com/solana-labs/solana"]},"buyer_wallet":{"type":"string","title":"Buyer Wallet","description":"Buyer Solana wallet address. Use `MOCK_anything` for free test.","default":"","examples":["","MOCK_test"]},"tx_signature":{"type":"string","title":"Tx Signature","description":"Solana TX signature proving 0.50 USDC payment to agent wallet","default":"","examples":["5abc...xyz"]},"lang":{"type":"string","title":"Lang","description":"Response language: 'en' or 'fr'","default":"en"}},"type":"object","required":["repo_url"],"title":"AuditRequest"},"BatchAuditRequest":{"properties":{"repos":{"items":{"type":"string"},"type":"array","title":"Repos","description":"List of 2–5 GitHub owner/repo slugs to audit","examples":[["bitcoin/bitcoin","ethereum/go-ethereum","solana-labs/solana"]]},"buyer_wallet":{"type":"string","title":"Buyer Wallet","description":"Buyer Solana wallet. Use `MOCK_anything` for free test.","default":""},"tx_signature":{"type":"string","title":"Tx Signature","description":"Solana TX signature proving 1.50 USDC payment","default":""},"lang":{"type":"string","title":"Lang","description":"Response language: 'en' or 'fr'","default":"en"}},"type":"object","required":["repos"],"title":"BatchAuditRequest"},"BlinkRequest":{"properties":{"account":{"type":"string","title":"Account"}},"type":"object","required":["account"],"title":"BlinkRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"tags":[{"name":"core","description":"Health check and live agent telemetry"},{"name":"audit","description":"GitHub Fake-Dev Detector — HTTP 402 · 0.50 USDC per repo"},{"name":"insights","description":"AI-curated crypto/tech insights — HTTP 402 · 0.10 USDC per item"},{"name":"proofs","description":"SHA256 proof-of-compute verification + on-chain reputation"},{"name":"discovery","description":"Agent auto-discovery: A2A card, Solana Actions, OpenAI plugin"}]}