Skip to content
Back to Free3D.io Catalog Agent

Card snapshot

free3d.io · 2026-11-12 15:46:55 UTC · 26aa2cf9c952ff1e88555ee33f5ff2988a83b748e94c9afbb75a1344181361f0

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.

{
  "name": "Free3D.io Catalog Agent",
  "description": "Agent interface for the free3d.io archive of 100,000+ free 3D models (interior, architecture, games). Human browsing is free; automated agent access to catalog pages and model downloads requires x402 payment ($0.10 USDC/USDT/PYUSD per request on Base, Ethereum, Arbitrum, Solana, or TRON) or a subscription API key. Public discovery via llms.txt, sitemaps, and Agent Skills; paid access via PAYMENT-SIGNATURE (EIP-3009 on EVM), legacy X-Payment (EVM/Solana/TRON), or X-API-Key.",
  "version": "1.0.0",
  "documentationUrl": "https://free3d.io/x402/docs.html",
  "iconUrl": "https://free3d.io/images/logo.svg",
  "provider": {
    "organization": "Free3D.io",
    "url": "https://free3d.io"
  },
  "supportedInterfaces": [
    {
      "url": "https://free3d.io/",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://free3d.io/x402/verify",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "1.0"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false,
    "extensions": [
      {
        "uri": "https://github.com/coinbase/x402",
        "description": "x402 HTTP payment: v2 PAYMENT-SIGNATURE or v1 X-PAYMENT (base64 PaymentPayload / raw JSON); legacy X-Payment tx:network on EVM/Solana/TRON; X-API-Key subscriptions. Start at pricingUrl.",
        "required": true,
        "params": {
          "pricingUrl": "https://free3d.io/x402/pricing.json",
          "paymentSkillUrl": "https://free3d.io/.well-known/agent-skills/x402-payment.SKILL.md",
          "docsUrl": "https://free3d.io/x402/docs.html",
          "protectedResourceMetadata": "https://free3d.io/.well-known/oauth-protected-resource"
        }
      },
      {
        "uri": "https://cloudflare.pay/",
        "description": "Optional Cloudflare Wallet merchant identity (boogiemuffin.cloudflare.pay). Buyers may pay with CF Account/Virtual Wallets via the same x402 challenge \u2014 no checkout redirect.",
        "required": false,
        "params": {
          "handle": "boogiemuffin.cloudflare.pay",
          "blog": "https://blog.cloudflare.com/wallets/",
          "runbook": "https://free3d.io/x402/docs.html"
        }
      }
    ]
  },
  "defaultInputModes": [
    "text/plain",
    "text/html",
    "text/markdown",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/html",
    "text/markdown",
    "application/json",
    "application/octet-stream"
  ],
  "securitySchemes": {
    "paymentSignature": {
      "type": "apiKey",
      "in": "header",
      "name": "PAYMENT-SIGNATURE",
      "description": "x402 PaymentPayload as base64 JSON (or raw JSON). Prefer PAYMENT-SIGNATURE (v2); X-PAYMENT also accepted for v1 clients."
    },
    "xPaymentV1": {
      "type": "apiKey",
      "in": "header",
      "name": "X-PAYMENT",
      "description": "x402 v1: same base64 PaymentPayload as PAYMENT-SIGNATURE. Legacy on-chain uses X-Payment: <tx>:<network> instead."
    },
    "apiKey": {
      "type": "apiKey",
      "in": "header",
      "name": "X-API-Key",
      "description": "Subscription API key (purchase via free3dio@pm.me)"
    }
  },
  "security": [
    {
      "paymentSignature": []
    },
    {
      "xPaymentV1": []
    },
    {
      "apiKey": []
    }
  ],
  "skills": [
    {
      "id": "discover-policy",
      "name": "Discover Agent Policy",
      "description": "Read the public llms.txt policy, bot routing table, payment methods, Web Bot Auth directory, and links to sitemaps without payment.",
      "tags": [
        "discovery",
        "policy",
        "llms",
        "public",
        "web-bot-auth"
      ],
      "examples": [
        "Fetch https://free3d.io/llms.txt for full agent instructions",
        "Fetch https://free3d.io/.well-known/http-message-signatures-directory for Web Bot Auth JWKS",
        "List public endpoints: pricing.json, docs.html, openapi.json"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/plain",
        "text/markdown"
      ]
    },
    {
      "id": "sign-outbound",
      "name": "Sign Outbound Requests (Web Bot Auth)",
      "description": "Attach Signature-Agent, Signature-Input, and Signature headers (tag=web-bot-auth) when free3d.io agents call other sites.",
      "tags": [
        "web-bot-auth",
        "signatures",
        "ed25519"
      ],
      "examples": [
        "Signature-Agent: \"https://free3d.io\"",
        "Use WebBotAuth::outboundRequestHeaders(url) or scripts/web-bot-auth-sign-request.mjs"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "browse-catalog",
      "name": "Browse 3D Model Catalog",
      "description": "Discover categories, tags, and model URLs via sitemaps and semantic URLs. Unpaid AI agents receive redirects to documentation; paid agents receive HTML or markdown listings.",
      "tags": [
        "catalog",
        "3d-models",
        "sitemap",
        "interior",
        "architecture"
      ],
      "examples": [
        "List categories from https://free3d.io/sitemap-cats.xml",
        "Fetch https://free3d.io/.well-known/crawler-demand.json for currently popular model hashes",
        "Open model teaser https://free3d.io/x402/teaser/{hash} then pay on https://free3d.io/model/{slug}/{hash}"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/html",
        "text/markdown",
        "application/json"
      ]
    },
    {
      "id": "access-model",
      "name": "Access Model Page and Download",
      "description": "Retrieve a model detail page or trigger file download. Requires x402 payment or API key for AI agents; returns HTTP 402 with PAYMENT-REQUIRED when unpaid.",
      "tags": [
        "download",
        "3d-model",
        "x402",
        "paywall"
      ],
      "examples": [
        "GET /model/Parker-Pendant-Wall-Sconce/853248af with PAYMENT-SIGNATURE after EIP-3009 authorization",
        "GET /model/{slug}/{hash}?a=download&do=get for file redirect after payment"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "text/html",
        "text/markdown",
        "application/json",
        "application/octet-stream"
      ]
    },
    {
      "id": "verify-legacy-payment",
      "name": "Verify On-Chain Payment",
      "description": "Exchange a confirmed on-chain USDC/PYUSD transfer for a one-time X-Access-Token via POST /x402/verify.",
      "tags": [
        "x402",
        "payment",
        "verify",
        "token"
      ],
      "examples": [
        "POST /x402/verify with tx_hash, network, and resource_id"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get-pricing",
      "name": "Get Pricing and Payment Options",
      "description": "Return machine-readable x402 accepts, networks, tokens, and API key subscription plans from pricing.json.",
      "tags": [
        "pricing",
        "x402",
        "payment"
      ],
      "examples": [
        "GET https://free3d.io/x402/pricing.json"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}