{
  "$schema": "https://humanmirror.fr/m2m/genesis.schema.json",
  "schema_version": "1.2.0",
  "protocol": "HumanMirror-Genesis-v1",
  "status": "ACTIVE",
  "service": {
    "name": "HumanMirror",
    "type": "machine_to_machine_service",
    "canonical_origin": "https://humanmirror.fr",
    "canonical_manifest": "https://humanmirror.fr/m2m/genesis.json",
    "well_known_manifest": "https://humanmirror.fr/.well-known/m2m-genesis.json",
    "documentation": "https://humanmirror.fr/m2m/",
    "provider": "HumanMirror"
  },
  "discovery": {
    "machine_readable": true,
    "registration_required": false,
    "payment_required_for_discovery": false,
    "payment_required_for_handshake": false,
    "content_types": [
      "application/json",
      "text/plain"
    ],
    "indexes": {
      "robots": "https://humanmirror.fr/robots.txt",
      "llms": "https://humanmirror.fr/llms.txt",
      "x402_catalog": "https://humanmirror.fr/x402/catalog.json",
      "x402_manifest": "https://humanmirror.fr/.well-known/x402.json",
      "agent_card": "https://humanmirror.fr/.well-known/agent-card.json",
      "agents": "https://humanmirror.fr/.well-known/agents.json",
      "skill": "https://humanmirror.fr/skill.md",
      "challenge": "https://humanmirror.fr/m2m/challenge.json",
      "payload_normalizer": "https://humanmirror.fr/.well-known/payload-normalizer.json",
      "consensus_verify": "https://humanmirror.fr/.well-known/consensus-verify.json"
    },
    "active_node": "https://humanmirror.fr/.well-known/humanmirror-node.json",
    "sink": "https://humanmirror.fr/api/v1/sink/",
    "fallback": "https://humanmirror.fr/api/v1/m2m/fallback/",
    "bot_convert": "https://humanmirror.fr/api/v1/m2m/bot-convert/",
    "aliases": [
      "https://humanmirror.fr/api/v1/node/context/",
      "https://humanmirror.fr/api/v1/node/ingest/",
      "https://humanmirror.fr/api/v1/node/normalize/",
      "https://humanmirror.fr/api/v1/node/convert/"
    ]
  },
  "transport": {
    "protocol": "HTTPS",
    "request_encoding": "application/json",
    "response_encoding": "application/json",
    "cors": true
  },
  "endpoints": {
    "handshake": {
      "url": "https://humanmirror.fr/api/v1/m2m/handshake/",
      "methods": [
        "GET",
        "POST"
      ],
      "authentication": "none_or_genesis_allocation_bearer",
      "payment": "free_until_allocation_exhausted"
    },
    "claim_resource": {
      "url": "https://humanmirror.fr/api/v1/m2m/claim-resource/",
      "method": "POST",
      "authentication": "none",
      "payment": "free"
    },
    "claim_tokens_alias": {
      "url": "https://humanmirror.fr/api/v1/m2m/claim-tokens/",
      "method": "POST",
      "authentication": "none",
      "payment": "free",
      "note": "Alias for HumanMirror resource allocation. This does not grant third-party LLM tokens."
    },
    "resource": {
      "url": "https://humanmirror.fr/api/v1/m2m/resource/",
      "method": "POST",
      "authentication": "Bearer genesis allocation token",
      "payment": "free_within_quota_then_x402"
    },
    "register": {
      "url": "https://humanmirror.fr/api/v1/m2m/register/",
      "method": "POST",
      "authentication": "none",
      "registration_required": false
    },
    "paid_context_compressor": {
      "url": "https://humanmirror.fr/api/x402/automata-context-compressor-sanitizer/",
      "methods": [
        "GET",
        "POST"
      ],
      "payment": "x402"
    },
    "zero_cost_sink": {
      "url": "https://humanmirror.fr/api/v1/sink/",
      "methods": [
        "GET",
        "POST"
      ],
      "authentication": "none_or_genesis_or_humanmirror_api_key_or_x402",
      "payment": "up_to_3_free_anonymous_executions_per_24h_then_x402_5.000_USDC"
    },
    "fallback": {
      "url": "https://humanmirror.fr/api/v1/m2m/fallback/",
      "methods": [
        "GET",
        "POST"
      ],
      "authentication": "none",
      "payment": "free",
      "purpose": "normalize malformed or adjacent machine requests and return resilience pointers"
    },
    "bot_convert": {
      "url": "https://humanmirror.fr/api/v1/m2m/bot-convert/",
      "methods": [
        "POST"
      ],
      "authentication": "none",
      "payment": "free",
      "purpose": "convert common bot/agent payload shapes into HumanMirror canonical context requests"
    },
    "micro_work": {
      "claim": "https://humanmirror.fr/api/v1/m2m/micro-work/claim/",
      "submit": "https://humanmirror.fr/api/v1/m2m/micro-work/submit/",
      "payment": "free",
      "reward": "one_service_execution_credit"
    },
    "liquidity_status": {
      "url": "https://humanmirror.fr/api/v1/m2m/liquidity-status/",
      "methods": [
        "GET",
        "POST"
      ],
      "payment": "free",
      "mode": "read_only_base_usdc_balance"
    },
    "zero_point_consensus": {
      "url": "https://humanmirror.fr/api/v1/zero/",
      "methods": [
        "GET",
        "POST"
      ],
      "authentication": "x402 PAYMENT-SIGNATURE",
      "payment": "5.000 USDC",
      "purpose": "structured mathematical, financial and strategic decision analysis"
    },
    "payload_normalizer": {
      "url": "https://humanmirror.fr/api/v1/m2m/payload-normalizer/",
      "methods": [
        "GET",
        "POST"
      ],
      "authentication": "none_with_bounded_test_quota_then_x402",
      "payment": "up_to_3_test_calls_per_24h_then_x402_5.000_USDC",
      "purpose": "canonical JSON normalization for agent middleware and load-test fixtures"
    },
    "consensus_verify": {
      "url": "https://humanmirror.fr/api/v1/consensus/verify/",
      "methods": [
        "GET",
        "POST"
      ],
      "authentication": "none_with_bounded_test_quota_then_x402",
      "payment": "up_to_3_test_calls_per_24h_then_x402_5.000_USDC",
      "purpose": "probabilistic validation of two contradictory software-agent signals"
    },
    "sanitize_shield": {
      "url": "https://humanmirror.fr/api/v1/sanitize/shield/",
      "methods": [
        "GET",
        "POST"
      ],
      "authentication": "none_with_bounded_test_quota_then_x402",
      "payment": "up_to_3_test_calls_per_24h_then_x402_5.000_USDC",
      "purpose": "quarantine indirect prompt injection and issue a signed Cleanliness Proof"
    }
  },
  "handshake": {
    "request": {
      "method": "POST",
      "content_type": "application/json",
      "body": {
        "agent_id": "string"
      }
    },
    "success": {
      "http_status": 200,
      "example": {
        "ok": true,
        "protocol": "HumanMirror-Genesis-v1",
        "status": "ACTIVE",
        "handshake": "ACCEPTED",
        "action_required": "NONE"
      }
    },
    "exhausted_allocation": {
      "http_status": 402,
      "payment_protocol": "x402",
      "payment_required_header": "PAYMENT-REQUIRED"
    }
  },
  "free_resource": {
    "enabled": true,
    "resource_type": "humanmirror_processing_calls",
    "duration_hours": 48,
    "calls": 20,
    "operation": "context_compress",
    "max_input_chars": 2000,
    "payment_required": false,
    "payment_required_after_quota": true,
    "third_party_llm_tokens": false
  },
  "context_compressor": {
    "operation": "context_compress",
    "description": "Deterministic cleanup and compression of bounded text or HTML context.",
    "free_endpoint": "https://humanmirror.fr/api/v1/m2m/resource/",
    "paid_endpoint": "https://humanmirror.fr/api/x402/automata-context-compressor-sanitizer/",
    "free_request": {
      "method": "POST",
      "headers": {
        "Authorization": "Bearer <GENESIS_ALLOCATION_TOKEN>",
        "Content-Type": "application/json"
      },
      "body": {
        "operation": "context_compress",
        "input": "<text or HTML>"
      }
    },
    "processing": [
      "remove_script_blocks",
      "remove_style_blocks",
      "remove_html_comments",
      "remove_html_tags",
      "decode_common_entities",
      "remove_duplicate_lines",
      "remove_common_boilerplate",
      "normalize_whitespace"
    ]
  },
  "quota_transition": {
    "trigger": "calls_used >= calls_limit OR allocation_expired",
    "http_status": 402,
    "response_header": "PAYMENT-REQUIRED",
    "payment_protocol": "x402",
    "paid_resource": "https://humanmirror.fr/api/x402/automata-context-compressor-sanitizer/",
    "price_usdc": "5.000"
  },
  "x402": {
    "enabled": true,
    "version": 2,
    "scheme": "exact",
    "network": "eip155:8453",
    "chain": "Base",
    "asset": {
      "symbol": "USDC",
      "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "decimals": 6
    },
    "pay_to": "0x395aA00B990004d4Ed3ecedF10d17716c5f5AAF4",
    "payment_flow": "authorization_then_verified_execution_then_settlement",
    "asset_transfer_method": "eip3009",
    "payment_request_header": "PAYMENT-REQUIRED",
    "payment_authorization_header": "PAYMENT-SIGNATURE",
    "payment_response_header": "PAYMENT-RESPONSE",
    "context_compressor": {
      "amount_atomic": "5000000",
      "amount_usdc": "5.000",
      "endpoint": "https://humanmirror.fr/api/x402/automata-context-compressor-sanitizer/"
    }
  },
  "x402_flow": [
    {
      "step": 1,
      "action": "POST paid resource without payment signature"
    },
    {
      "step": 2,
      "expect": "HTTP 402"
    },
    {
      "step": 3,
      "read_header": "PAYMENT-REQUIRED"
    },
    {
      "step": 4,
      "action": "create x402 v2 exact USDC authorization using returned payment requirements"
    },
    {
      "step": 5,
      "action": "repeat request with PAYMENT-SIGNATURE"
    },
    {
      "step": 6,
      "action": "HumanMirror verifies authorization"
    },
    {
      "step": 7,
      "action": "HumanMirror executes requested deterministic service"
    },
    {
      "step": 8,
      "action": "HumanMirror settles payment after successful execution"
    }
  ],
  "registry": {
    "enabled": true,
    "required": false,
    "public_listing": false,
    "endpoint": "https://humanmirror.fr/api/v1/m2m/register/",
    "fields": {
      "agent_id": {
        "type": "string",
        "required": true
      },
      "owner_domain": {
        "type": "hostname",
        "required": false
      },
      "capabilities": {
        "type": "array",
        "items": "string",
        "required": false
      },
      "public_key_fingerprint": {
        "type": "string",
        "required": false
      }
    }
  },
  "related_services": {
    "proof_of_vibe_challenge": "https://humanmirror.fr/api/proof-of-vibe/challenge/",
    "solve": "https://humanmirror.fr/api/solve/",
    "automata_catalog": "https://humanmirror.fr/api/automata/",
    "x402_catalog": "https://humanmirror.fr/x402/catalog.json",
    "x402_openapi": "https://humanmirror.fr/x402/openapi.json",
    "x402_mcp": "https://humanmirror.fr/api/x402/mcp/",
    "challenge": "https://humanmirror.fr/m2m/challenge.json",
    "challenge_proof": "https://humanmirror.fr/api/v1/m2m/challenge-proof/",
    "e2e_client": "https://humanmirror.fr/m2m/x402-e2e.mjs",
    "zero_point_page": "https://humanmirror.fr/zero/",
    "zero_point_api": "https://humanmirror.fr/api/v1/zero/",
    "payload_normalizer": "https://humanmirror.fr/api/v1/m2m/payload-normalizer/",
    "consensus_verify": "https://humanmirror.fr/api/v1/consensus/verify/",
    "sanitize_shield": "https://humanmirror.fr/api/v1/sanitize/shield/",
    "sanitize_shield_manifest": "https://humanmirror.fr/.well-known/sanitize-shield.json"
  },
  "saas_b2b": {
    "status": "ACTIVE",
    "unified_resource": "https://humanmirror.fr/api/v1/m2m/resource/",
    "api_key_header": "X-API-Key",
    "checkout_endpoint": "https://humanmirror.fr/api/v1/saas/checkout/",
    "claim_key_endpoint": "https://humanmirror.fr/api/v1/saas/claim-key/",
    "plans": {
      "free": {
        "price_usd_monthly": 0,
        "monthly_quota": 100
      },
      "dev": {
        "price_usd_monthly": 19,
        "monthly_quota": 10000,
        "stripe_price_id": "price_1UAohB76dplZ2QQt5I9RB93D"
      },
      "pro": {
        "price_usd_monthly": 49,
        "monthly_quota": 100000,
        "stripe_price_id": "price_1UAohJ76dplZ2QQtmBOzYJvx"
      }
    },
    "quota_exhausted": {
      "http_status": 402,
      "alternatives": [
        "upgrade Stripe subscription",
        "pay per call with x402"
      ],
      "x402": {
        "network": "eip155:8453",
        "asset": "USDC",
        "price_usdc": "5.000"
      }
    }
  },
  "active_node": {
    "status": "ACTIVE",
    "node_manifest": "https://humanmirror.fr/.well-known/humanmirror-node.json",
    "ingress": "https://humanmirror.fr/api/v1/sink/",
    "fallback": "https://humanmirror.fr/api/v1/m2m/fallback/",
    "zero_cost_grace": {
      "calls": 3,
      "window_hours": 24
    },
    "paid_transition": {
      "protocol": "x402",
      "version": 2,
      "network": "eip155:8453",
      "asset": "USDC",
      "amount_atomic": "5000000",
      "amount_usdc": "5.000",
      "endpoint": "https://humanmirror.fr/api/x402/automata-context-compressor-sanitizer/"
    },
    "aliases": [
      "https://humanmirror.fr/api/v1/node/context/",
      "https://humanmirror.fr/api/v1/node/ingest/",
      "https://humanmirror.fr/api/v1/node/normalize/",
      "https://humanmirror.fr/api/v1/node/convert/"
    ],
    "low_balance_fallback": {
      "detector": "Base USDC balanceOf when wallet address is provided",
      "threshold_atomic": "1000",
      "micro_work": "https://humanmirror.fr/api/v1/m2m/micro-work/claim/",
      "reward": "one HumanMirror service execution",
      "gas_credit": false
    }
  },
  "canonical_agent_manifest": "https://humanmirror.fr/.well-known/agent-manifest.json",
  "pricing_policy": {
    "minimum_paid_bundle_usdc": "5.000",
    "legacy_routes_floored": true
  }
}
