mirrored listing x402 eip155:8453animica:1

Give it up to 10 URLs and get back the readable text of each — titles, clean body text, na

Give it up to 10 URLs and get back the readable text of each — titles, clean body text, navigation and scripts removed — in a single call and a single payment. The half of every retrieval pipeline an agent already has links for: search results, a sitemap, an RSS feed, a user's reading list. Pages are fetched concurrently under a deadline. Every URL you send is accounted for: the ones that could not be read come back in failed[] WITH the reason (403, timeout, paywall, no extractable text, private address), because a bad input and a broken fetcher need opposite responses from you. If not one URL could be read, you are NOT charged.

Do you run animica.dev? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
6958 (raw units)
price
2
calls / 30d
1
unique payers
2026-08-22
updated

Provider

animica.dev · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0x5D17c40FD6b119dc6006C4Ab3C20a917FCaB2aCD",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "6958",
    "maxTimeoutSeconds": 60
  },
  {
    "scheme": "exact",
    "network": "animica:1",
    "payTo": "anim1zqpsmegc0qcvzjfukm89xs0zeu3eqyyyel7kelehuszvwfarqypky2gr946ga",
    "asset": "ANM",
    "amount": "82641748495",
    "maxTimeoutSeconds": 60
  }
]

Output schema

{
  "animica": {
    "catalog": "https://animica.dev/.well-known/x402",
    "content_type": "application/json",
    "currency": "USDC",
    "description": "Give it up to 10 URLs and get back the readable text of each — titles, clean body text, navigation and scripts removed — in a single call and a single payment. The half of every retrieval pipeline an agent already has links for: search results, a sitemap, an RSS feed, a user's reading list. Pages are fetched concurrently under a deadline. Every URL you send is accounted for: the ones that could not be read come back in failed[] WITH the reason (403, timeout, paywall, no extractable text, private address), because a bad input and a broken fetcher need opposite responses from you. If not one URL could be read, you are NOT charged.",
    "documentation": "https://animica.dev/x402#product-web_contents",
    "free_trial": {
      "endpoint": "POST /x402/contents/trial",
      "limit_per_day": 5,
      "note": "Same code and same response shape as the paid endpoint. No payment, no payment headers. Quota is per client per UTC day; when it is spent this endpoint says so and points back here.",
      "price": "0",
      "url": "https://animica.dev/x402/contents/trial"
    },
    "name": "Page contents in bulk",
    "openapi": "https://animica.dev/x402/openapi.json",
    "price": "0.006958",
    "product": "web_contents",
    "provider": "Animica",
    "terms": {
      "amount_atomic": "6958",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "chain_id": 8453,
      "network": "eip155:8453",
      "pay_to": "0x5D17c40FD6b119dc6006C4Ab3C20a917FCaB2aCD",
      "scheme": "exact"
    },
    "x402_version": 2
  },
  "bazaar": {
    "discoverable": true,
    "info": {
      "input": {
        "body": {
          "max_chars": 500,
          "urls": [
            "https://x402.org/"
          ]
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": {
          "failed": [],
          "fetched_at": "2026-08-21T23:44:13.495Z",
          "pages": [
            {
              "chars": 4121,
              "content_type": "text/html; charset=utf-8",
              "text": "x402 \n\n Close Search \n\n x402 \n\n x402 is an open, neutral standard for internet-native payments. It absolves the Internet’s original sin by natively making payments possible between clients and servers, creating win-win economies that empower agentic payments at scale. x402 exists to build a more free and fair internet.\n\n Read x402 Foundation Announcement Last 30 Days\n\n 75.41M\n\n Transactions\n\n $24.24M\n\n Volume\n\n 94.06K\n\n Buyers\n\n 22K\n\n Sellers\n\n → Accept payments with a single line of code\n\n app.",
              "title": "x402",
              "truncated": true,
              "url": "https://x402.org/"
            },
            {
              "chars": 3090,
              "content_type": "text/html; charset=utf-8",
              "text": "Welcome to x402 - x402 \n Documentation Index\n Fetch the complete documentation index at: /llms.txt \n Use this file to discover all available pages before exploring further.\n\n Skip to main content \n x402 is the open payment standard that enables services to charge for access to their APIs and content directly over HTTP. It is built around the HTTP 402 Payment Required status code and allows clients to programmatically pay for resources without accounts, sessions, or credential management. \n With ",
              "title": "Welcome to x402 - x402",
              "truncated": true,
              "url": "https://docs.x402.org/introduction"
            }
          ],
          "pages_read": 2,
          "took_ms": 507,
          "urls_requested": 2
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "properties": {
            "body": {
              "properties": {
                "max_chars": {
                  "description": "truncate each page to this many characters (default 6000)",
                  "type": "integer"
                },
                "urls": {
                  "description": "1..10 absolute http(s) URLs",
                  "type": "array"
                }
              },
              "required": [
                "urls"
              ],
              "type": "object"
            },
            "bodyType": {
              "enum": [
                "json"
              ],
              "type": "string"
            },
            "method": {
              "enum": [
                "POST"
              ],
              "type": "string"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {},
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  },
  "discovery": {
    "discoverable": true,
    "info": {
      "input": {
        "bodyFields": {
          "max_chars": {
            "description": "truncate each page to this many characters (default 6000)",
            "required": false,
            "type": "integer"
          },
          "urls": {
            "description": "1..10 absolute http(s) URLs",
            "required": true,
            "type": "array"
          }
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "description": "pages[] {url, requested_url, title, content_type, chars, truncated, text}, failed[] {url, error, detail}, pages_read, urls_requested, took_ms, fetched_at",
        "type": "json"
      }
    }
  }
}

Use it

curl

curl "https://animica.dev/x402/contents"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://animica.dev/x402/contents");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://animica.dev/x402/contents")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/7533.json, and this resource appears in /discovery/resources and /discovery/search.