mirrored listing x402 eip155:8453

Pay-per-Training-Provenance: an agent pays to seal the provenance of a dataset or training

Pay-per-Training-Provenance: an agent pays to seal the provenance of a dataset or training run — a C2PA-compatible manifest binding the dataset/artifact hash to a declared origin, served with a post-quantum ML-DSA-65 / Dilithium-3 (NIST FIPS 204) signature over the same canonical claim (manifest anchor: Dilithium-2). Built for EU AI Act Art. 10/53 training-data provenance. Privacy-preserving (only the hash is bound). x402-native.

Do you run fractalai.net.co? 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
50000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-15
updated

Provider

fractalai.net.co · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "50000",
    "maxTimeoutSeconds": 300
  },
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "50000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "body": {
      "dataset_hash": "sha256hex",
      "model_id": "fane-1"
    },
    "bodyType": "json",
    "description": "Pay-per-Training-Provenance: an agent pays to seal the provenance of a dataset or training run — a C2PA-compatible manifest binding the dataset/artifact hash to a declared origin, served with a post-quantum ML-DSA-65 / Dilithium-3 (NIST FIPS 204) signature over the same canonical claim (manifest anchor: Dilithium-2). Built for EU AI Act Art. 10/53 training-data provenance. Privacy-preserving (only the hash is bound). x402-native.",
    "info": {
      "input": {
        "body": {
          "dataset_hash": "sha256hex",
          "model_id": "fane-1"
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": {
          "algorithm": "ml-dsa-65",
          "manifest_id": "…",
          "signature": "BASE64"
        },
        "type": "json"
      }
    },
    "method": "POST",
    "output": {
      "example": {
        "algorithm": "ml-dsa-65",
        "manifest_id": "…",
        "signature": "BASE64"
      },
      "schema": {
        "properties": {
          "algorithm": {
            "description": "ml-dsa-65",
            "type": "string"
          },
          "algorithm_label": {
            "description": "ML-DSA-65 / Dilithium-3 (NIST FIPS 204)",
            "type": "string"
          },
          "manifest": {
            "description": "The re-verifiable C2PA-compatible provenance manifest, signed with Dilithium-2 (NIST FIPS 204): { claim (content_hash, model_id, issuer, prompt_hash, created_at, ...), signature (base64 Dilithium-2), public_key, manifest_id }.",
            "type": "object"
          },
          "payment": {
            "description": "Settlement receipt (scheme, network, asset, txHash, payer, settled).",
            "type": "object"
          },
          "public_key": {
            "description": "Base64 ML-DSA-65 public key (1952 bytes) that verifies the served signature.",
            "type": "string"
          },
          "served_signature": {
            "description": "The served post-quantum proof: { algorithm, algorithm_label, digest, message, signed_message, signature, public_key, note } — offline-verifiable independently of the manifest.",
            "type": "object"
          },
          "signature": {
            "description": "Base64 ML-DSA-65 / Dilithium-3 (NIST FIPS 204) served signature (3309 bytes) over the 3-line, route-separated message FRACTALAI-x402-served-v1\\nx402-attest-training\\n<digest> (returned verbatim as signed_message), where digest = sha256(canonicalClaim(manifest.claim)) = manifest.manifest_id.",
            "type": "string"
          },
          "signed_message": {
            "description": "The EXACT bytes covered by signature: the 3 lines FRACTALAI-x402-served-v1\\nx402-attest-training\\n<digest>. Verify against these verbatim.",
            "type": "string"
          },
          "verify_at": {
            "description": "Endpoint to freely re-verify the Dilithium-2 manifest.",
            "type": "string"
          }
        },
        "required": [
          "manifest",
          "algorithm",
          "signature",
          "public_key"
        ],
        "type": "object"
      },
      "type": "json"
    },
    "route_key": "POST /api/x402/attest-training",
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "body": {
              "type": "object"
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            },
            "headers": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "method": {
              "enum": [
                "POST",
                "PUT",
                "PATCH"
              ],
              "type": "string"
            },
            "queryParams": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    },
    "serviceName": "FractalAI Training Provenance",
    "tags": [
      "training",
      "c2pa",
      "provenance",
      "ai-model",
      "ml-dsa"
    ],
    "type": "http"
  }
}

Use it

curl

curl "https://fractalai.net.co/api/x402/attest-training"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://fractalai.net.co/api/x402/attest-training");
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://fractalai.net.co/api/x402/attest-training")
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/7696.json, and this resource appears in /discovery/resources and /discovery/search.