{
  "generated_note": "Every entry is verifiable: transactions and contracts link to the public Stellar explorer; test counts come from the CI run on the linked commit.",
  "networks": [
    {
      "name": "testnet",
      "title": "Stellar testnet",
      "status": "live",
      "explorer_tx": "https://stellar.expert/explorer/testnet/tx/",
      "explorer_contract": "https://stellar.expert/explorer/testnet/contract/",
      "contracts": [
        {
          "name": "Bond Registry",
          "id": "CBNGZB5GL3FEZKIQK73BTJYCQAC76N7SZCLN34JRMTQCUWER4GB3WHPL"
        },
        {
          "name": "Claims",
          "id": "CBUBZC2AHVKFKYTAO3DIF6CZFQVM4UYCNABYVTPQNUUJGLOIBSIWONSC"
        },
        {
          "name": "Validator P1 Equivocation",
          "id": "CBEBETGU7AFDBYSP5VGUIKJ7FHLLDOG5LM56MHYWYWT4M4S7FZEZ7TU3"
        },
        {
          "name": "Validator P2 Terms mismatch",
          "id": "CCDRQUWK5JHLNJRAMT6P37K4RS4B3SNELLZPP6LMM64IZ357MSSGSDW4"
        },
        {
          "name": "Validator P3 Stale data",
          "id": "CDUIB7ZPIRXMUZLIXRTALEFLXMAYLLIBJ6TDN5HWDR77CPLLPIG44DVJ"
        },
        {
          "name": "Validator P4 Bad status",
          "id": "CA5FBH3RUW65UXIHU4YP2GSTQNUXHXTB4NIEVICPHHV7ISXY2VB6A2LV"
        },
        {
          "name": "Validator P5 Size limit",
          "id": "CDJGYTFQOGMY3UX7CPYLJPNZF2SPFEHJRJGY3VOOHVVIPLNS4NWL5BEE"
        },
        {
          "name": "Validator P6 Oracle deviation",
          "id": "CDPLC6G732LTARGLAKNA5TRR4DAERXKMWGWI4TS4XQ6WLHRSPHQNEWGV"
        }
      ],
      "proofs": [
        {
          "group": "Warranty payouts after real x402 payments",
          "items": [
            {
              "what": "P1 Equivocation: seller signed two different receipts for one payment",
              "result": "Claim paid 5 USDC from stake",
              "tx": "c2857bcf83486c4987f90b63a2ac7b5bfc984c5972244ee8a856157b8837b2d0"
            },
            {
              "what": "P2 Terms mismatch: receipt cited different terms than the offer",
              "result": "Claim paid 5 USDC",
              "tx": "a3b8824e47e5f52b6db91fc2bd9dc628069390dce30080c1866cc4b121c7e881"
            },
            {
              "what": "P3 Stale data: data an hour old against a 10-minute promise",
              "result": "Claim paid 5 USDC",
              "tx": "b0a9882deb29d837cd618e2049207a26b71cd8b92cf6b760dc3c64b23c49b2cd"
            },
            {
              "what": "P4 Bad status: charged for HTTP 203 when only 200 was chargeable",
              "result": "Claim paid 1 USDC",
              "tx": "c0d29757fff39fec847354765df5e5c415a26112b4719c8cfbe106e3ce655537"
            },
            {
              "what": "P5 Size limit: response larger than the 4 KiB promised",
              "result": "Claim paid 1 USDC",
              "tx": "72afb00bcb6c364671d952d5aab19f0d14528ec33c3a12c26f720c37c21d7590"
            },
            {
              "what": "P6 Oracle deviation: EUR/USD quoted 10% away from Reflector; validator read the oracle on-chain",
              "result": "Claim paid 5 USDC",
              "tx": "5d75c3a069e09b96ed0ba00ca739fdaa7d489e0788b0557dff28eb0f556225bb"
            },
            {
              "what": "Honest response",
              "result": "Receipt verified, warranty kept, no claim",
              "tx": null
            },
            {
              "what": "Tampered receipt signature",
              "result": "Flagged untrusted by the buyer SDK; no claim possible, no penalty",
              "tx": null
            },
            {
              "what": "Payout took stake below the minimum",
              "result": "Service suspended automatically; agents stopped paying it",
              "tx": "39dafbcaaf8052306a2abb477c00957df425073197060b14e6cce47c8fba2399"
            }
          ]
        },
        {
          "group": "Mainnet engineering, proven on testnet",
          "items": [
            {
              "what": "Protocol fees: 1 USDC registration fee on each reference service",
              "result": "Fees reached the treasury account",
              "tx": "f53799e382de63e59316f3f6bc22a245b8af5feb8194135cab3eba41d9eacd93"
            },
            {
              "what": "Annual stake fee (1%/year) accrued per second and collected on demand",
              "result": "collect_fee moved the accrued amount to the treasury; FeeCollected event indexed",
              "tx": null
            },
            {
              "what": "Payment settled by LOPW's own self-hosted x402 facilitator, then a P6 claim",
              "result": "Claim paid 5 USDC; facilitator paid 0.0046 XLM in fees for two settlements",
              "tx": "b394a7748599f464ea775b79234e32fa15e72662499366feb670c03c93b3e26d"
            },
            {
              "what": "Storage keeper extended the registry, claims and every service entry",
              "result": "4 transactions, 0 failures",
              "tx": null
            },
            {
              "what": "Property test: random deposits, slashes, fees, unbonding and withdrawals",
              "result": "Contract USDC balance equalled the sum of stakes after every step in 64 random sequences",
              "tx": null
            }
          ]
        },
        {
          "group": "Stake lifecycle",
          "items": [
            {
              "what": "Deposit 150 USDC activates a Pending service",
              "result": "State Active",
              "tx": "88b3fc643f423b838c6079ca99b9d18202206dc771444ba9a9639a411b4fdcb0"
            },
            {
              "what": "Partial unbonding keeps the service Active",
              "result": "Pending withdrawal recorded with unlock time",
              "tx": "28062bcd08c6b4825094b43407c9d342b1236d8d89e01454c602047112b6d8f5"
            },
            {
              "what": "Withdraw before the unlock time",
              "result": "Rejected: StillLocked",
              "tx": null
            },
            {
              "what": "Cancel unbonding",
              "result": "Pending withdrawal cleared",
              "tx": "0302d7029ec47216c00ed1c0244287b97f6a926415a12f275ca398d6a7efc37d"
            },
            {
              "what": "Registration below the 100 USDC floor",
              "result": "Rejected: StakeBelowFloor",
              "tx": null
            }
          ]
        },
        {
          "group": "Governance and safety",
          "items": [
            {
              "what": "Admin proposed a replacement Claims contract",
              "result": "Time-locked 26 hours; monitor raised a critical alert within seconds; proposal cancelled",
              "tx": null
            },
            {
              "what": "Oracle read charges",
              "result": "A contract-to-contract Reflector read carried no fee beyond the normal transaction fee",
              "tx": "678d56705d37adfdfbc8956e6ac6a3b170ffccb44885095c541a15f7ba99adff"
            },
            {
              "what": "Honest claim against an honest quote",
              "result": "Recorded as rejected, NotProven, no payout",
              "tx": "ff7ed65b51eef131298a161cfd5dc1e8005929ed5eaa28606b4e2e9a612b393c"
            }
          ]
        }
      ]
    },
    {
      "name": "mainnet",
      "title": "Stellar mainnet",
      "status": "not_deployed",
      "status_note": "No mainnet deployment exists yet. Mainnet proofs are added here as they are run, with the same explorer links.",
      "explorer_tx": "https://stellar.expert/explorer/public/tx/",
      "explorer_contract": "https://stellar.expert/explorer/public/contract/",
      "contracts": [],
      "proofs": []
    }
  ],
  "code_tests": [
    {
      "suite": "Soroban contracts (Rust)",
      "count": 97,
      "covers": "Every registry state transition, slash rate limit, key retirement, admin time locks, launch limits, pause, allowlist, fees, a stake-accounting property test, all six validators, end-to-end claims with real signatures and a test USDC token"
    },
    {
      "suite": "Protocol, buyer SDK, seller middleware (TypeScript)",
      "count": 22,
      "covers": "Byte-for-byte test vectors shared with Rust, local predicate evaluation, policy refusals, receipt verification, durable receipt store, live testnet reads"
    },
    {
      "suite": "Indexer, API, monitor (Go)",
      "count": 11,
      "covers": "Event decoding, API pagination, errors, ETags, rate limits, OpenAPI coverage, alert rules including launch-configuration alerts"
    }
  ],
  "ci": {
    "workflow": "Build and test on every push: Rust (fmt, clippy, tests, wasm build), TypeScript (build, type check, tests), Go (gofmt, vet, tests with a PostgreSQL service)",
    "status": "passing"
  }
}
