{
  "schema": "spark.mainnet-privacy-observation.v1",
  "title": "Sanitized read-only observation of public Spark mainnet data",
  "observedAtUtc": "2026-07-14T02:32:31Z",
  "method": {
    "access": "Unauthenticated HTTPS GET requests",
    "authorizationHeaderSent": false,
    "rawUserIdentifiersRetained": false,
    "redaction": "No transaction rows, user addresses, user public keys, transfer IDs, amounts, or timestamps are retained. Only aggregate counts, field names, response hashes, and the SDK-published SSP service identity are recorded."
  },
  "observations": [
    {
      "id": "network-latest-100",
      "observedAtUtc": "2026-07-14T02:32:31Z",
      "request": "GET https://api.sparkscan.io/v1/tx/latest?network=MAINNET&limit=100",
      "httpStatus": 200,
      "contentType": "application/json;charset=utf-8",
      "accessControlAllowOrigin": "*",
      "reportedRateLimit": 350,
      "responseSha256": "c915b4af88b094b9b4a739307aba06c4933255fc14ab8b1a0781c71f77eae143",
      "recordCount": 100,
      "recordsByType": {
        "bitcoin_deposit": 3,
        "bitcoin_withdrawal": 4,
        "lightning_payment": 35,
        "spark_transfer": 19,
        "token_burn": 4,
        "token_mint": 1,
        "token_multi_transfer": 23,
        "token_transfer": 11
      },
      "lightningRecords": 35,
      "lightningRecordsWithOneSparkSideIdentifierAndPublicKey": 35,
      "lightningRecordsWithExactSatsCreatedAndUpdatedTimes": 35,
      "topLevelFieldNamesObserved": [
        "amountSats",
        "bitcoinTxid",
        "createdAt",
        "expiredTime",
        "from",
        "id",
        "multiIoDetails",
        "orchestraId",
        "status",
        "swapId",
        "to",
        "tokenAmount",
        "tokenMetadata",
        "type",
        "updatedAt",
        "valueUsd"
      ]
    },
    {
      "id": "sdk-published-ssp-address",
      "observedAtUtc": "2026-07-14T02:28:21Z",
      "request": "GET https://api.sparkscan.io/v1/address/spark1pgssy03nu2fqxfhkf633qkx5gam5gtvh6l2uhl84fccxp0qkjhjjv8ynvflju3?network=MAINNET",
      "httpStatus": 200,
      "responseSha256": "68e04772d2381156958e5517ac918f6653e41ed001eb81a2b74ef40884993222",
      "sdkPublishedServiceIdentityPublicKey": "023e33e2920326f64ea31058d44777442d97d7d5cbfcf54e3060bc1695e5261c93",
      "returnedPublicKeyMatchedSdkConfiguration": true,
      "transactionCount": 2254966,
      "tokenCount": 7,
      "balanceFieldNamesObserved": [
        "btcHardBalanceSats",
        "btcSoftBalanceSats",
        "btcValueUsdHard",
        "btcValueUsdSoft",
        "totalTokenValueUsd"
      ]
    }
  ],
  "limitations": [
    "This observation proves unauthenticated availability at the stated time, not permanent availability.",
    "The sample does not establish that the feed contains every Spark transaction.",
    "The sample does not establish whether any returned user wallet had enabled Spark privacy mode.",
    "Response hashes support provenance but the raw responses are intentionally not published because they contained user pseudonyms and transaction details."
  ]
}
