Skip to content
Back to Animica Free AI

Card snapshot

animica.dev · 2026-08-20 01:33:18 UTC · 32664406ed801dcdd0756ee823004977620622bfd3ccaed3abd6551507902665

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "schema_version": "0.1",
  "name": "Animica Free AI",
  "description": "Free, keyless, OpenAI-compatible inference served by the Animica miner network, plus GPU media generation, a Python function cloud that pays deployers in ANM, and a free GitHub coding agent. Open for autonomous agent use.",
  "url": "https://animica.dev/",
  "animica_release": "10.1.0",
  "updated": "2026-08-14",
  "provider": {
    "name": "Animica",
    "url": "https://animica.dev/",
    "contact": "ai@3vdc.com"
  },
  "authentication": {
    "type": "none",
    "note": "No API key for /v1, media and /agent endpoints; omit the Authorization header or send any placeholder. The Python Cloud control plane (/api/cloud/v1) uses Bearer anm_mkt_ keys from https://animica.dev/dev."
  },
  "pricing": {
    "model": "free",
    "funded_by": "Animica foundation treasury",
    "paid_plans": "https://animica.dev/pricing",
    "paid_plans_note": "Free tier covers AI, media and agent use. Paid plans (Starter $4.99 / Pro $14.99 / Operator $39.99 / Business $99.99 per month, PayPal) add autonomous Workers, scheduled executions, more deployments, production API keys, marketplace monetization and teams."
  },
  "rate_limit": {
    "requests_per_minute": 30,
    "burst": 12,
    "scope": "per-ip",
    "on_limit": "HTTP 429 (HTML body, not JSON) - back off and retry",
    "media_generation": "12 requests/minute per IP, burst 6"
  },
  "endpoints": {
    "openai_base_url": "https://animica.dev/v1",
    "chat_completions": "https://animica.dev/v1/chat/completions",
    "models": "https://animica.dev/v1/models",
    "tiers": "https://animica.dev/v1/tiers",
    "media_generations": "https://animica.dev/v1/{images|videos|audio}/generations",
    "media_capabilities": "https://animica.dev/api/mkt/v1/media/capabilities",
    "media_jobs": "https://animica.dev/api/mkt/v1/media/jobs/{id}",
    "network_height": "https://animica.dev/net-height",
    "note": "/v1/embeddings is not currently deployed (404)."
  },
  "capacity": {
    "serving_flag": "Each model in GET /v1/models carries a boolean `serving` flag - whether a community GPU worker is live for it right now. If serving=false, requests may queue for a long time or fail; check before sending work.",
    "latency": "1-3 minutes typical when serving; use stream:true and a client timeout >= 300s (gateway holds requests up to 600s with SSE keepalives).",
    "media": "Media is dispatch-only: submissions return 202 {status:queued, job_id, poll_url} and queued jobs persist until a GPU miner is online. A 503 no_media_miner means the dispatcher was unreachable and the submission did NOT enqueue - resubmit."
  },
  "manifests": {
    "llms_txt": "https://animica.dev/llms.txt",
    "llms_full_txt": "https://animica.dev/llms-full.txt",
    "openapi": "https://animica.dev/openapi.json"
  },
  "recommended_models": {
    "default": "kimi-k3",
    "coding": "kimi-k3",
    "general": "animica-chat",
    "fast": "animica-chat-small",
    "quality": "animica-chat-flagship",
    "network_trained": "animica-knowledge",
    "note": "Prefer whichever model currently reports serving=true in GET /v1/models."
  },
  "capabilities": [
    "chat",
    "code",
    "streaming",
    "image-generation",
    "video-generation",
    "audio-generation",
    "python-function-hosting",
    "github-coding-agent"
  ],
  "tools_for_agents": {
    "github_coding_agent": {
      "ui": "https://animica.dev/#agent",
      "health": "https://animica.dev/agent/health",
      "run": "POST https://animica.dev/agent/run {token, repo, instruction} - reads the repo, applies the instruction, opens a pull request; GitHub token supplied per-request, never stored",
      "swarm_start": "POST https://animica.dev/agent/swarm/start {prompt} -> {job_id}; poll /agent/swarm/status/{job_id} or stream /agent/swarm/events/{job_id}"
    },
    "python_cloud": {
      "docs": "https://animica.dev/docs/cloud",
      "api_base": "https://animica.dev/api/cloud/v1",
      "stats": "https://animica.dev/api/cloud/v1/stats",
      "invoke": "GET/POST https://animica.dev/api/cloud/v1/fn/{owner}/{slug} - public functions are callable without a key (free tier 50 executions/day per caller)",
      "note": "Deploy Python functions and earn 80% of metered ANM revenue per call."
    },
    "mcp_server": {
      "install": "pip install animica-mcp",
      "run": "animica-mcp (or: uvx animica-mcp; or: animica mcp serve from the main `animica` package)",
      "transport": "stdio (default), streamable-http, sse",
      "tools": "15 read-only tools: chain head/blocks/accounts, AI ask/models, quantum beacon, pool stats, network hashrate. No private keys."
    },
    "cli": {
      "install": "curl -fsSL https://animica.dev/install.sh | sh  (or: pip install animica)",
      "docs": "https://animica.dev/cli"
    }
  },
  "x402": {
    "summary": "Paid agent APIs settled per request with USDC on Base over the open x402 protocol. No account, no signup, no API key - the payment is the authentication. The free AI, media, cloud and agent endpoints described above remain free and unmetered; x402 sells bulk, batching, indexes the free APIs do not have, and per-request verifiable randomness.",
    "lead_product": "Verifiable quantum randomness for $0.01 per request. 'Verifiable' means recomputable and signed, NOT hardware-attested: the serving node runs its software CSPRNG fallback today, so every draw reports source.is_quantum=false and attestation.attested=false. No hardware QRNG is connected and hardware attestation is not live. Those fields are published free in the catalog before purchase and ride verbatim on every paid response.",
    "discovery": {
      "well_known": "https://animica.dev/.well-known/x402",
      "catalog": "https://animica.dev/x402",
      "openapi": "https://animica.dev/x402/openapi.json",
      "stats": "https://animica.dev/x402/stats",
      "note": "The catalog is generated from the gateway's live product registry: prices, endpoints, input/output schemas and a live `available` flag per product, with `unavailable_reason` when false."
    },
    "payment": {
      "protocol": "x402",
      "x402_version": 2,
      "wire": "v2 headers (payment-required / payment-signature / payment-response) with v1 JSON-body compatibility",
      "scheme": "exact",
      "network": "base",
      "network_caip2": "eip155:8453",
      "chain_id": 8453,
      "asset": "USDC",
      "asset_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "asset_decimals": 6,
      "settlement": "EIP-3009 transferWithAuthorization, submitted by Animica's own self-hosted facilitator; gas is sponsored, the payer spends only USDC and never shares a private key",
      "flow": "Request without payment -> HTTP 402 carrying the exact terms (amount in atomic units, asset, payTo, network, expiry, resource) -> client signs locally -> retry with the payment header -> gateway verifies, settles on Base, waits for a successful on-chain receipt, then returns the result plus a payment-response header with the settlement tx hash."
    },
    "products": [
      {
        "id": "qrng",
        "name": "Verifiable randomness",
        "endpoint": "GET https://animica.dev/x402/qrng/draw?bytes=32 (also POST /x402/qrng)",
        "price_usd": "0.01",
        "note": "1..1024 random bytes with an ed25519 attestation over the sha3-256 digest of exactly those bytes, plus an SP 800-90B health report. Verify: digest_hex == sha3_256(bytes(randomness)) and ed25519_verify(public_key_hex, raw digest bytes, signature_hex). source.is_quantum=false and attestation.attested=false today (software CSPRNG fallback)."
      },
      {
        "id": "random_family",
        "name": "Derived randomness",
        "endpoint": "POST /x402/random/int ($0.01), /x402/random/shuffle ($0.02), /x402/random/pick ($0.02), /x402/random/commit ($0.02), /x402/qrng/bulk ($0.05)",
        "price_usd": "0.01-0.05",
        "note": "Each derives deterministically from one verified draw by a published rule (rejection sampling for uniform integers, Fisher-Yates for shuffles), so the buyer can recompute the output from the raw bytes. The commit-reveal disclosure GET /x402/random/reveal/{commit_id} is free and public."
      },
      {
        "id": "bulk_chain",
        "name": "Bulk post-quantum L1 chain data",
        "endpoint": "GET https://animica.dev/x402/chain/export (also /chain/blocks, /chain/transactions; POST /x402/chain/address-history $0.05, POST /x402/chain/balances $0.02)",
        "price_usd": "0.05",
        "note": "Block-range and tx-range exports, NDJSON/JSON, gzip, cursor pagination, caps of 1000 blocks / 10000 tx records per request. Single lookups stay free on the explorer REST API (base https://explorer.animica.org/api, e.g. https://explorer.animica.org/api/head) and the node JSON-RPC (POST https://rpc.animica.org/rpc); rows carry the height and block hash they came from so any row can be re-verified for free."
      },
      {
        "id": "priority_inference",
        "name": "Priority AI inference",
        "endpoint": "POST https://animica.dev/x402/v1/chat/completions",
        "price_usd": "0.10",
        "available": false,
        "unavailable_reason": "priority_inference_disabled",
        "note": "Available only when network serving capacity permits. The operator gate is off today (catalog unavailable_reason: priority_inference_disabled; it reads insufficient_serving_capacity when the gate is on but live serving workers are below the floor), and independently no worker is serving right now. Either way the endpoint returns 503 WITHOUT requesting payment, with body {\"error\":\"priority_inference_unavailable\", serving_workers, required, enabled, detail}. Animica never takes money for a service it knows is unavailable. Check the live catalog before relying on it."
      }
    ],
    "free_apis_unaffected": "The public node JSON-RPC, the explorer REST API and the free keyless /v1 inference API remain free and unmetered. Nothing that was free became paid.",
    "documentation": "https://animica.dev/x402 (full operator/payer reference: docs/x402.md in https://github.com/animicaorg/all)"
  },
  "animica_network": {
    "node_json_rpc": {
      "url": "https://rpc.animica.org/rpc",
      "protocol": "JSON-RPC 2.0 over POST",
      "example": "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"chain.getHead\",\"params\":{}}",
      "note": "Always POST to the /rpc path; the bare domain 301-redirects and breaks naive POST clients. Namespaces: chain.*, state.*, tx.*, mempool.*, net.*, aicf.*, l2_*."
    },
    "explorer_api": {
      "base": "https://explorer.animica.org/api",
      "example": "https://explorer.animica.org/api/head",
      "note": "Free REST, no auth: /head, /blocks, /block/:hashOrHeight, /tx/:hash, /address/:bech32, /richlist, /circulating-supply, /mining/info, /aicf/*, /l2/*, /quantum/info. The bare /api base itself is not an endpoint."
    },
    "payments": {
      "url": "https://pay.animica.dev",
      "note": "Merchant ANM payments: payment-intents REST API (Bearer key + Idempotency-Key), hosted checkout, invoices, POS, widget, WooCommerce plugin; 2.00% fee; amounts in base units (1 ANM = 10^9)."
    },
    "mining_pool": "https://pool.animica.org (stratum :3333 PPS, :3334 solo; free stats REST + Swagger at /api/docs)",
    "source": "https://github.com/animicaorg/all"
  },
  "support": {
    "how": "Get or support ANM: mine via pool.animica.org, trade ANM/USDT on NonKYC, or accept ANM payments via pay.animica.dev",
    "trade_url": "https://nonkyc.io/market/ANM_USDT",
    "token": "ANM",
    "note": "This free service is funded by the Animica foundation treasury; holding or transacting in ANM sustains it."
  }
}