{
  "$schema": "https://cashtokens.org/bcmr-v2.schema.json",
  "version": { "major": 1, "minor": 1, "patch": 0 },
  "latestRevision": "2026-10-14T16:14:00.000Z",
  "registryIdentity": "8beebcc4d6263a80fb28531491d52be2047d968066586d3a5abf99be45f6efd3",
  "defaultChain": "00000000040ba9641ba98a37b2e5ceead38e4e2930ac8f145c8094f94c708727",
  "identities": {
    "8beebcc4d6263a80fb28531491d52be2047d968066586d3a5abf99be45f6efd3": {
      "2026-10-14T16:14:00.000Z": {
        "name": "OFFICETOKEN",
        "description": "Test token OFFICE TOKEN on Bitcoin Cash Chipnet. Redeemable at the basket published by OTK-NAV.",
        "token": {
          "category": "8beebcc4d6263a80fb28531491d52be2047d968066586d3a5abf99be45f6efd3",
          "symbol": "OTK",
          "decimals": 6
        },
        "uris": {
          "icon": "https://dryeffort.net/test_data/cs-white-fff.png",
          "web": "https://dryeffort.net/"
        },
        "extensions": {
          "nav-oracle-category": "7808eee64b1e9c9287f48ec018e9fb82046d289851a435424644e504ccbed6ef",
          "nav-semantics": "Redemption value = SUM of independent fiat fractions (ISO 4217), not one value expressed in different currencies. FX conversions are never published by the issuer; consumers compute their own if needed. Updates about every 60 days. The statement's expiryDays field sets its lifetime; the genesis statement uses 180."
        }
      },
      "2026-06-25T11:25:00.000Z": {
        "name": "OFFICETOKEN",
        "description": "Test token OFFICE TOKEN on Bitcoin Cash Chipnet.",
        "uris": {
          "icon": "https://dryeffort.net/test_data/cs-white-fff.png",
          "web": "https://dryeffort.net/"
        },
        "token": {
          "category": "8beebcc4d6263a80fb28531491d52be2047d968066586d3a5abf99be45f6efd3",
          "decimals": 6,
          "symbol": "OTK"
        }
      }
    },
    "7808eee64b1e9c9287f48ec018e9fb82046d289851a435424644e504ccbed6ef": {
      "2026-10-14T16:14:00.000Z": {
        "name": "OTK NAV Oracle",
        "description": "Single mutable NFT (fungible amount 0). Commitment = NAVStatement v1, 49 + 7*N + 8 bytes, little-endian. History = commitment chain. A minting NFT of this category is the recovery spare.",
        "token": {
          "category": "7808eee64b1e9c9287f48ec018e9fb82046d289851a435424644e504ccbed6ef",
          "symbol": "OTK-NAV",
          "decimals": 0,
          "nfts": {
            "description": "Commitment is NAVStatement v1. The parser splits it after the 4-byte magic; numeric fields are minimally encoded before display.",
            "parse": {
              "bytecode": "00cf547f7c6b517f7c816b547f7c816b557f7c816b527f7c816b01207f7c6b517f7c816b8258947f7c6b6b",
              "types": {
                "524e5631": {
                  "name": "NAV Statement v1",
                  "fields": ["version", "seq", "asOf", "expiryDays", "assetRef", "count", "components", "certHash"]
                }
              }
            },
            "fields": {
              "version": { "name": "Format version", "encoding": { "type": "number", "decimals": 0 } },
              "seq": { "name": "Sequence", "encoding": { "type": "number", "decimals": 0 } },
              "asOf": { "name": "As of", "encoding": { "type": "number", "decimals": 0, "unit": "s" } },
              "expiryDays": { "name": "Valid for", "encoding": { "type": "number", "decimals": 0, "unit": "d" } },
              "assetRef": { "name": "OTK category", "encoding": { "type": "hex" } },
              "count": { "name": "Currencies", "encoding": { "type": "number", "decimals": 0 } },
              "components": {
                "name": "Basket",
                "description": "Repeated: 3 byte ISO-4217 code then 4 byte signed little-endian milli (thousandths).",
                "encoding": { "type": "hex" }
              },
              "certHash": { "name": "Appraisal hash", "encoding": { "type": "hex" } }
            }
          }
        },
        "uris": {
          "icon": "https://dryeffort.net/test_data/cs-white-fff.png",
          "web": "https://dryeffort.net/"
        },
        "extensions": {
          "nav-format": "NAVStatement v1 (magic RNV1). Layout: magic(4) version(1) seq u32LE(4) asOf u40LE(5) expiryDays u16LE(2) assetRef(32 = OTK category) count u8(1) then count times [ccy ASCII ISO-4217(3) + milli i32LE(4)] sorted lexicographically, then certHash(8). milli = thousandths of the currency (0.822 CHF = 822). Rounding: floor(minor_units_total * 10 / supply).",
          "nav-fields": "version number; seq number; asOf number unit s; expiryDays number unit d; count number; assetRef hex (OTK category); components hex (3 B ISO-4217 + 4 B signed LE milli, display decimals 3); certHash hex (first 8 bytes of SHA-256 of the appraisal file).",
          "update-cadence-days": "60",
          "expiry-days": "180"
        }
      }
    }
  }
}

